<<,>>(有符號位移)和>>>(無符號位移)的使用方法,及差別


<<  ——  有符號左移

>>  ——  有符號右移

<<<  ——  無符號左移

>>>  ——  無符號右移

無符號移位(>>>)和有符號移位(>>)的區別是:

有符號位移運算時如果數字為正數時位移后在前面補0,為負數時則在位移后在前面補1

例:

100<<2

4的二進制為

0110  0100

移除最后兩位

0110  01

在前面補兩個零

0001  1001

100>>2==25

無符號移位運算時(>>>)如果數字為正數時移位后在前面補0,若為負數時移位后在前面補1

100>>>2

100的二進制是

0110  0100

向右移2位后為

0110  01

在前面補0得二進制為

0001  1001

100>>>2==25

 

如果為-100

-100的二進制為

1111111111111111111111111111111111111111111111111111111111111100

移除最后兩位后

11111111111111111111111111111111111111111111111111111111111111

之后在前面補兩位

1111111111111111111111111111111111111111111111111111111111111111

-100>>>2==-1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM