js 负数移位运算究竟如何进行

 

 

带符号位移case:

1️⃣ -7>>1 = -4

  第一步:00000000 00000000 00000000 00000111 (无符号整数)

  第二步:11111111 11111111 11111111 11111001 (-7的表示,第一步求反+1)

  第三步:11111111 11111111 11111111 11111100(带符号位移)

  第四步:00000000 00000000 00000000 00000100 (-1 取反 )

  第五步:10000000 00000000 00000000 00000100(符号位补1)答案是-4

无符号位移case:

1️⃣ -1>>>4 = ox0FFFFFFF

  第一步:00000000 00000000 00000000 00000001 (无符号整数)

  第二步:11111111 11111111 11111111 11111111(-1的表示,第一步求反+1)

  第三步:00001111 11111111 11111111 11111111 (无符号位移)答案是ox0FFFFFFF

     

 

posted @ 2018-03-28 16:03  听风1993  阅读(1723)  评论(0编辑  收藏  举报