编程中的移位运算符简单解释
1.<<左移 (又叫算术左移),数字的二进制表示中符号位不进行移位。
例如 10<<2
10的二进制表示是 (机器补码表示,不会自行百度)0,0000000...00001010(共三十二位,假设机器是32位机器,64位大同小异)
左移2位之后是0,0000000...0000101000 ,换算成十进制就是40. 因为【(10*2)*2 = 40】。
例如 (-10)<<2
-10的二进制表示是 1,1111111...11110110(共三十二位,假设机器是32位机器,64位大同小异)
左移2位之后变成1,1111111...1111011000(补码左移规则请自行百度), 换算成十进制就是-40,所以(-10)<<2 = -40
2.<<<符号左移(又叫逻辑移位),即把数字的二进制表示中符号位不用区别对待。
整数的符号左移和左移是等价的,因为补码左移时右侧都是补0
3.右移>>(又叫算术右移),数字的二进制表示中符号位不进行移位。
例如 10>>2
10的二进制表示是 (机器补码表示,不会自行百度)0,0000000...00001010(共三十二位,假设机器是32位机器,64位大同小异)
右移2位之后是0,0000000...00000010 ,换算成十进制就是2. 因为【(10/2)/2 = 2】。
例如 (-10)>>2
-10的二进制表示是 1,1111111...11110110(共三十二位,假设机器是32位机器,64位大同小异)
右移2位之后变成1,1111111...11111101(补码右移规则请自行百度), 换算成十进制就是-3,所以(-10)<<2 = -3(这也是为什么 -5/2 = -3 的原因)
4.符号右移>>>(又叫逻辑移位)即把数字的二进制表示中符号位不用区别对待。
例如 10>>>2 (正整数的符号右移同算术右移)
例如 -10>>>2
-10的二进制表示是 1,1111111...11110110(共三十二位,假设机器是32位机器,64位大同小异)
逻辑右移两位之后是0,011111...11111101,换算成十进制是1073741821 所以(-10)<<<2 = 1073741821
编程中的移位运算符简单解释相关推荐
- java中 移位运算_java中关于移位运算符的demo与总结(推荐)
首先,移位运算符有三种,其操作类型只支持:byte / short / char / int和long五种. << 左移运算符,表示将左边的操作数的二进制数据向左移动*位,移动后空缺位以0 ...
- java 偏移符号_java中的移位运算符总结
java中的移位运算符:<>,>>>总结 java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> ...
- java右移位_java中的移位运算符:,,总结
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >& ...
- java中的移位运算符与无符号位移
引用: java中有三种移位运算符 java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2>> : 右移运算符,num >&g ...
- java中有三种移位运算符
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >& ...
- Java中的逻辑运算符/移位运算符简单总结
前段时间刷到了力扣关于位运算的题,这里浅浅记录一下! 1. 逻辑位运算 1.1 与 & &:按位与进行二进制计算,规则是同为1则为1,不同为0,具体如下: 0&0=0, 0&a ...
- java中的移位运算符
移位运算符是在数字的二进制形式上进行平移.主要有左移(<<).带符号右移(>>)以及无符号右移(>>>). 左移运算符(<<)的运算规则为:按二进 ...
- ll文件显示为?????_关于shell编程中的文件测试简单的操作实例
谈一谈关于shell编程中的文件测试 Shell编程有时处理一个对象时,需要我们对对象进行测试. 只有符合要求的才采取下一步操作,这样做的好处可以避免程序出错. 这个测试的对象可以是文件.字符串.数字 ...
- c语言中的移位运算符
移位运算符在程序设计中,是位操作运算符的一种.移位运算符可以在二进制的基础上对数字进行平移. c语言中提供了两种移位运算符: 左移运算符:<< 右移运算符:>> 左 ...
最新文章
- 不用任何软件消除mp3的乱码
- Python编程基础:第四十一节 继承Inheritance
- Delphi下的GDI+编程[2] DrawLine - 绘制直线
- rust新版组队指令_Rust最新控制台命令2017
- Biorhythms(POJ-1006)
- 麻将游戏-协议实现 笔记
- 浮点数不能全等比较吗php,汇编语言FCOM指令:比较浮点数值
- shell脚本实现FTP自动上传文件
- Javascript禁止网页复制粘贴效果,或者复制时自动添加来源信息
- MFC中让自定义的类能响应消息
- Mac上如何重启或结束Finder进程?
- mysql TIMESTAMP 报错
- 《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列)
- itextpdf 合并单元格 横向纵向
- 网易企业邮箱的网易文档是什么?
- A. Diverse Team
- csgo调出参数_CSGO控制台全方位使用教程 控制台常用命令及参数说明
- python——加解密hashlib/hmac/random/secrets/base64/pycrypto
- iOS上架App Store详解(图文)
- Google将IP标记为中国,影响表现以及解决方案
热门文章
- 2020年7大技术趋势
- 程序员上班都在做什么?
- gdc服务器故障输入信号超出范围,H1Z1信号输入超出范围 | 手游网游页游攻略大全...
- html 表单命名规范,最佳实践:按HTML ID或名称属性访问表单元素?
- 同样是面试简历,为何你如此风骚!
- java类的实现程序_java – 如何在另一个类中实现处理程序?
- ​北京大学吴华君课题组高新诚聘 医学生信 助理研究员和博士后
- 无代码调整聚类热图分支顺序
- 如何在data visualization 中update svg_如何操作小程序页面中data数据区中的数据
- NOI 1.13编程基础之综合应用 45十进制到八进制