Javascript是什么
这个问题在这里已经有了答案:
这是一个按位运算符...引用此页面:
按位运算符将它们的操作数视为32位(零和1)序列,而不是十进制,十六进制或八进制数字。 例如,十进制数字9具有1001的二进制表示。按位运算符对这些二进制表示执行操作,但它们返回标准的JavaScript数值。
会发生什么,是运算符将该数字视为一个32位整数; 所以5.123被视为:
0000 0000 0000 0000 0000 0000 0000 0101
(小数部分被抛出),0被视为
0000 0000 0000 0000 0000 0000 0000 0000
那么OR函数会比较这两个数字,如果其中一个数字的值为1,则写入1。因此,使用带有十进制数和zeeo的按位Or实际上是丢弃小数部分并保留整数部分的一种方法。
你的另一个例子是:
0000 0000 0000 0000 0000 0000 0000 0101 (5)
0000 0000 0000 0000 0000 0000 0000 0010 (2)
--------------------------------------- ORed
0000 0000 0000 0000 0000 0000 0000 0111 (7)
和4:
0000 0000 0000 0000 0000 0000 0000 0101 (5)
0000 0000 0000 0000 0000 0000 0000 0100 (4)
--------------------------------------- ORed
0000 0000 0000 0000 0000 0000 0000 0101 (5)
您可以使用它来转换以放弃数字的小数部分 - 请参阅使用按位OR 0来放置数字
链接地址: http://www.djcxy.com/p/77437.html