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

编程中的移位运算符简单解释相关推荐

  1. java中 移位运算_java中关于移位运算符的demo与总结(推荐)

    首先,移位运算符有三种,其操作类型只支持:byte / short / char / int和long五种. << 左移运算符,表示将左边的操作数的二进制数据向左移动*位,移动后空缺位以0 ...

  2. java 偏移符号_java中的移位运算符总结

    java中的移位运算符:<>,>>>总结 java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> ...

  3. java右移位_java中的移位运算符:,,总结

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  4. java中的移位运算符与无符号位移

    引用: java中有三种移位运算符 java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2>> : 右移运算符,num >&g ...

  5. java中有三种移位运算符

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  6. Java中的逻辑运算符/移位运算符简单总结

    前段时间刷到了力扣关于位运算的题,这里浅浅记录一下! 1. 逻辑位运算 1.1 与 & &:按位与进行二进制计算,规则是同为1则为1,不同为0,具体如下: 0&0=0, 0&a ...

  7. java中的移位运算符

    移位运算符是在数字的二进制形式上进行平移.主要有左移(<<).带符号右移(>>)以及无符号右移(>>>). 左移运算符(<<)的运算规则为:按二进 ...

  8. ll文件显示为?????_关于shell编程中的文件测试简单的操作实例

    谈一谈关于shell编程中的文件测试 Shell编程有时处理一个对象时,需要我们对对象进行测试. 只有符合要求的才采取下一步操作,这样做的好处可以避免程序出错. 这个测试的对象可以是文件.字符串.数字 ...

  9. c语言中的移位运算符

          移位运算符在程序设计中,是位操作运算符的一种.移位运算符可以在二进制的基础上对数字进行平移. c语言中提供了两种移位运算符: 左移运算符:<< 右移运算符:>> 左 ...

最新文章

  1. 不用任何软件消除mp3的乱码
  2. Python编程基础:第四十一节 继承Inheritance
  3. Delphi下的GDI+编程[2] DrawLine - 绘制直线
  4. rust新版组队指令_Rust最新控制台命令2017
  5. Biorhythms(POJ-1006)
  6. 麻将游戏-协议实现 笔记
  7. 浮点数不能全等比较吗php,汇编语言FCOM指令:比较浮点数值
  8. shell脚本实现FTP自动上传文件
  9. Javascript禁止网页复制粘贴效果,或者复制时自动添加来源信息
  10. MFC中让自定义的类能响应消息
  11. Mac上如何重启或结束Finder进程?
  12. mysql TIMESTAMP 报错
  13. 《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列)
  14. itextpdf 合并单元格 横向纵向
  15. 网易企业邮箱的网易文档是什么?
  16. A. Diverse Team
  17. csgo调出参数_CSGO控制台全方位使用教程 控制台常用命令及参数说明
  18. python——加解密hashlib/hmac/random/secrets/base64/pycrypto
  19. iOS上架App Store详解(图文)
  20. Google将IP标记为中国,影响表现以及解决方案

热门文章

  1. 2020年7大技术趋势
  2. 程序员上班都在做什么?
  3. gdc服务器故障输入信号超出范围,H1Z1信号输入超出范围 | 手游网游页游攻略大全...
  4. html 表单命名规范,最佳实践:按HTML ID或名称属性访问表单元素?
  5. 同样是面试简历,为何你如此风骚!
  6. java类的实现程序_java – 如何在另一个类中实现处理程序?
  7. ​北京大学吴华君课题组高新诚聘 医学生信 助理研究员和博士后
  8. 无代码调整聚类热图分支顺序
  9. 如何在data visualization 中update svg_如何操作小程序页面中data数据区中的数据
  10. NOI 1.13编程基础之综合应用 45十进制到八进制