<<,>>(有符号位移)和>>>(无符号位移)的使用方法,及差别
2024-10-17 07:07:48
<< —— 有符号左移
>> —— 有符号右移
<<< —— 无符号左移
>>> —— 无符号右移
无符号移位(>>>)和有符号移位(>>)的区别是:
有符号位移运算时如果数字为正数时位移后在前面补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
最新文章
- 关于Docker官方CentOS镜像无法启动mysqld的总结
- c语言考前最后一天
- 自定义getElementByClass
- ssh: connect to host gihub.com port 22: Connection timed out
- TruSeq 应该指的是试剂盒名字 NEB
- 利用PHPRPC以及SOAP分别实现PHP的Webserver功能
- python的内存管理机制 图解+Django Web开发学习笔记
- SRM 584 div2
- ZOJ 2679 Old Bill(数学)
- BizTalk开发小技巧
- TypeScript -- 面向对象特性
- CentOS系统通过PXE实现批量无人值守安装
- 给ubuntu的swap分区增加容量
- 2017计算机学科夏令营上机考试-B编码字符串
- for in,Object.keys()与for of的区别
- 【CTSC2017】【BZOJ4903】吉夫特 卢卡斯定理 DP
- css 定位(fixed >; absolute >; relative)与层级zIndex 的权限认知
- vue项目中在同一页面多次引入同一个echarts图表的自适应问题
- 26.Linux-网卡驱动介绍以及制作虚拟网卡驱动(详解)
- 委托, 泛型委托,Func<;T>;和Action<;T>;