Js也有位运算和移位运算,其规范和java一致
1)var a=4>>2;
Window.alert(a); //结果是1
原理:
4 二进制:00000000 0000100 右移两位:00 00000000 00001 ---运行结果为1
2)var a=-4>>2;
Window.alert(a); //结果是-1
原理:
-4 原码:10000000 00000100 -> 反码:11111111 11111011 -> 补码(+1):11111111 11111100
向右移动2位 11 11111111 111111 -> 反码(减1) 11111111 11111110-> 原码(符号位不变,其他全部取反) 10000000 00000001 ---运行结果是-1
本文介绍了JavaScript中位运算和移位运算的使用,包括正数和负数的右移操作。通过示例详细解释了-4进行右移2位时,从原码到反码再到补码的转换过程,最终得出结果并讨论了其运行逻辑。

6953

被折叠的 条评论
为什么被折叠?



