1
17
根据EcmaScript标准,javascript中的所有数字都是(64位IEEE754)浮点数。 然而,所有32位整数都可以精确地表示为浮点数。您可以使用适当的位运算符将结果强制为32位,如下所示:
很奇怪,但这是标准。 (顺便说一下,这种舍入行为是 one of the most frequently reported "bugs" 反对火狐的javascript引擎。看来今年到目前为止已经报道了三次了……) 对于javascript中可重复的随机数,V8基准使用以下方法:
|
2
3
当javascript中的整数太大而不能容纳32位值时,某些浏览器会将其转换为浮点值。由于浮点值的保存精度有限,因此大值上可能会出现一些舍入。 |
3
1
如果在C/C++(双)中完成,最后的数字将是…112。 而不是105(正确)。如果使用“长双精度”, 结果与预期一致(…105)。所以看起来像 javascript解释器将数字转换为8字节双精度 在内部,进行计算并进行一些未知的取整 这导致了比C/C++标准稍好的结果。 双重计算。 海湾合作委员会4.5:
结果:
预期:
所以我看不到在没有 Bignum图书馆的帮助(如果有的话)。 当做 RBO |
Abeezuo · Ruby正则表达式,用于精确包含x个整数的字符串 2 年前 |
manOnTheMoon · 对于循环-我只能输入1个整数 2 年前 |
grative · 我怎样才能掩盖Swift中的第一个和最后一个角色? 2 年前 |
Kaiger Chainer · 将一个元素从list转换为int 2 年前 |
MOmo · C++中字符串的最后一个字符使用n后退()和铸造 2 年前 |
arka · C语言中奇怪的联合行为 2 年前 |