Javascript 欧几里德模的用途是什么?它与正则模有何不同?
我对3JS中数学的欧几里德模方法有点困惑。 我已经知道模符号的作用,但欧几里德模看起来完全不同Javascript 欧几里德模的用途是什么?它与正则模有何不同?,javascript,three.js,modulo,Javascript,Three.js,Modulo,我对3JS中数学的欧几里德模方法有点困惑。 我已经知道模符号的作用,但欧几里德模看起来完全不同 ( ( n % m ) + m ) % m 我试着查找欧几里德语义学,但它只说: 关于或表示基于几何工作的几何体系的 欧几里得几何与对应的普通经验 有人能解释一下吗?我在任何地方都找不到进一步的解释?有一个记录良好的Javascript模错误,当使用负数时会出现。您可以将x%4看作一个数字轮: 当x从0变为正数时,结果是:0、1、2、3、0、1、2、 当x从0变为负数时,结果是:0,3,2,1,
( ( n % m ) + m ) % m
我试着查找欧几里德语义学,但它只说:
关于或表示基于几何工作的几何体系的
欧几里得几何与对应的普通经验
有人能解释一下吗?我在任何地方都找不到进一步的解释?有一个记录良好的Javascript模错误,当使用负数时会出现。您可以将
x%4
看作一个数字轮:
- 当x从0变为正数时,结果是:
0、1、2、3、0、1、2、
- 当x从0变为负数时,结果是:
0,3,2,1,0,3,2,…
-5%4
时会得到-1
,这不是正确的答案。它甚至不在可能的答案列表中。怎么可能有负余数?!答案应该是3
。以下是正确答案与错误Javascript答案的列表:
1%4=1//JS给你1
0%4=0//JS为您提供0
-1%4=3//JS为您提供-1
-2%4=2//JS给你-2
-3%4=1//JS为您提供-3
-4%4=0//JS为您提供-0
-5%4=3//JS给你-1
为了让您的生活更轻松,Three.js为您提供了一个实用程序来获得正确的答案,从而绕过这个JavaScript错误
3.MathUtils.euclideanModulo(-5,4)
给出了正确的答案3
@mplungjan这与常规的模不同吗?我在网络上看到了地板模,但实际上我不知道。我刚刚看到了在正则模中提到的欧几里德wiki@mplungjan我将通读完整的文档,谢谢。我认为,%
的JavaScript行为与其说是一个bug,不如说是一个特性,而且JavaScript的%
结果不一定“不正确”。(您可以随意不同意这一点。)只是%
在不同的语言中表现不同。例如,在JavaScript、java和C++中,代码< > 5% 4 < /COD>是-1,在Perl、Python和Ruby中是3,并且(我相信)在C和C++中实现了定义的行为。@ PeterO。很公平。也许bug这个词太强了。只是我还没有发现默认的%
对于负数很有用。谢谢你花时间把它画出来。非常感谢