码迷,mamicode.com
首页 > 其他好文 > 详细

<<,>>(有符号位移)和>>>(无符号位移)的使用方法,及差别

时间:2019-01-21 13:56:00      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:无符号   nsf   使用方法   style   运算   sans   port   移除   none   

<<  ——  有符号左移

>>  ——  有符号右移

<<<  ——  无符号左移

>>>  ——  无符号右移

无符号移位(>>>)和有符号移位(>>)的区别是:

有符号位移运算时如果数字为正数时位移后在前面补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

 

<<,>>(有符号位移)和>>>(无符号位移)的使用方法,及差别

标签:无符号   nsf   使用方法   style   运算   sans   port   移除   none   

原文地址:https://www.cnblogs.com/siduoxiaohua/p/10297961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!