【发布时间】:2013-08-13 21:21:29
【问题描述】:
我的印象是,Javascript 中的 Number 类型根据 IEEE 浮点标准存储任何数字、整数或浮点数。如果是这样,那么为什么要对一个数字与 0 进行按位或运算呢?
玩弄其他一些位操作,似乎在对浮点数应用位操作时,数字首先向 0 舍入,然后再应用位操作(数字采用二进制补码表示,而不是 IEEE)。这是正确的吗?
【问题讨论】:
-
如果我没记错的话,所有按位运算都会将输入转换为 32 位 整数。
-
@bfavaretto 这实际上是 mdn 上用于按位运算的第一句话
-
@aaronman 我刚刚看到了。但是 MDN 并没有明确说它们会变成整数。规范对此很清楚,它总是在输入上使用ToInt32。
-
你可以在网上找到完整的语言规范,@hchau。
-
@bfavaretto 有趣我从未真正阅读过规范或任何内容
标签: javascript bit-manipulation