Java和Javascript中位移运算

2018-11-22  本文已影响0人  p712long

参考:https://www.cnblogs.com/thtlovelife/p/8664404.html

           https://blog.csdn.net/u010267996/article/details/79198279

注意js中数据是一个32位的数,其中第32位为符号位,正数为0,负数为1

(1) 带符号正数/负数的左移(<<)和带符号正数的右移(>>):符号位不变,右/左边低/高位补0,共计32位;

(2) 带符号负数的右移(>>):符号位不变,其它所有位求反加1,然后向右移位,再符号还是不变,其它所有位再次求反加1;

(3) 不带符号正数的右移(>>>):符号位不要,其它所有位求反再加1,然后位移;

举例1:

举例2:

      -100无符号右移4位。

      -100原码:   10000000    00000000    00000000   01100100

      -100补码:    保证符号位不变,其余位置取反加1

                           11111111    11111111    11111111   10011100

     无符号右移4位   :   在高位补0

                           00001111    11111111    11111111    11111001

      即为所求:268435449

上一篇 下一篇

猜你喜欢

热点阅读