逻辑右移是否总是在JavaScript中移动源代码之前将其剪裁为32位?
很简单,真的。逻辑右移是否总是在JavaScript中移动源代码之前将其剪裁为32位?,javascript,bit-shift,Javascript,Bit Shift,很简单,真的。0xf12345678>>>4是否总是作为JavaScript的结果生成0x1234567?我可以假设这在所有浏览器中都能工作吗?应该是一个可靠的假设。任何JS解释器在计算任何操作之前都会将0xf12345678作为单个操作数读取。如果您希望安全,为什么不(0xf12345678)>>4 有关这一问题的一些细节如下: 按位运算符将其操作数视为32位(零)的序列 和1),而不是十进制、十六进制或八进制数。对于 例如,十进制数字9的二进制表示为1001。 按位运算符对这样的二进制文件执
0xf12345678>>>4
是否总是作为JavaScript的结果生成0x1234567
?我可以假设这在所有浏览器中都能工作吗?应该是一个可靠的假设。任何JS解释器在计算任何操作之前都会将0xf12345678
作为单个操作数读取。如果您希望安全,为什么不(0xf12345678)>>4
有关这一问题的一些细节如下:
按位运算符将其操作数视为32位(零)的序列
和1),而不是十进制、十六进制或八进制数。对于
例如,十进制数字9的二进制表示为1001。
按位运算符对这样的二进制文件执行操作
表示,但它们返回标准JavaScript数值
是的,根据ECMAScript 5规范,
>
操作符执行内部ToUInt32
算法
见:
>
运算符通常用于转换为32位无符号整数。例如,MDN在其垫片中使用它。例如: