(1).二进制中负数的计算

负数以正数的补码表示

原码:一个整数按照绝对值的大小转化成二进制的数

反码:将二进制数按位取反

补码:反码加 1

以-14 举例

原码:14 即 00000000 00000000 00000000 00001110

反码: 11111111 11111111 11111111 11110001

补码: 11111111 11111111 11111111 11110010

所以-14 的二进制是 11111111 11111111 11111111 11110010

假设 我们得到 二进制让我们求整数 就是倒着来取相反数

如二进制是 11111111 11111111 11111111 11110010

得到反码减1 11111111 11111111 11111111 11110001

原码: 00000000 00000000 00000000 00001110

即 1110 = 14 所以取反 就是-14

(2).<<左移运算符

1.将一个运算对象的各二进制位全部左移若干位(左边的二进制丢弃,右边补0)

(注意:java中 整数位 32位)

11 << 2 = 44

-14 <<2 =-56

-14的二进制(11111111 11111111 11111111 11110010)左移2位 为
11111111 11111111 11111111 11001000 结果为(-56)
【补充】:对于左移,直观的理解为,对于正数来说,左移相当于乘以2(但效率比乘法高);对于负数来说,没有直观的理解。

(3).>>右移运算符

将一个运算对象的各二进制位全部右移若干位,正数左补0,负数左补1.

4 >> 2 = 1;

-14 >> 2 = -4;
【补充】:对于右移,直观的理解为,对于正数来说,右1移相当于除以2(但效率比除法高);对于负数来说,没有直观的理解。

作者:Ferrari1001
链接:https://www.jianshu.com/p/19ed5ff6a945
来源:简书

二进制位运算 左移与右移相关推荐

  1. 二进制位运算---左移右移

    二进制位运算---左移(<<)右移(>>) (1).二进制中负数的计算 负数以正数的补码表示 原码:一个整数按照绝对值的大小转化成二进制的数 反码:将二进制数按位取反 补码:反 ...

  2. 移位运算(左移和右移)

    如有转载,请注明出处:  http://www.cnblogs.com/flydoos/archive/2011/09/06/2169280.html 移位运算(左移和右移) 这是网上流传的" ...

  3. 彻底理解位运算——左移、右移

    相信大家在各种语言各种框架中都能看到二进制的操作.左移.右移.&.|.^等等操作.那么这篇帖子让各位彻底弄懂左移.右移. 首先先区分那个是左移.那个是右移,这很简单,从箭头指向的方向来区分.& ...

  4. 二进制位运算---左移(<<)右移(>>)

    左移(<<) 一般来说,向左移动几位就乘以2的几次幂:但是,如果要左移的数化成二进制后的最高位不是0而是1时,前面的结论就不成立了,就要化成二进制后再运算了(去掉最高位的1,最低位补0) ...

  5. 位运算——左移和右移

    <<(左移) 1.运算规则: 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的 空位补零. 2.语法格式: 需要移位的数字 << 移位的次数 例如: 3 & ...

  6. c语言 10进制 按位与,位运算小结(按位与、按位或、按位异或、取反、左移、右移)...

    原标题:位运算小结(按位与.按位或.按位异或.取反.左移.右移) 位运算不管是在Java语言,还是在C语言中,或者其他语言,都是经常会用到的,所以本文也就不固定以某种语言来举例子了,原始点就从0.1开 ...

  7. 位运算小结(按位与、按位或、按位异或、取反、左移、右移)

    位运算小结(按位与.按位或.按位异或.取反.左移.右移) 位运算主要包括按位与(&).按位或(|).按位异或(^).取反(~).左移(<<).右移(>>)这几种,其中除 ...

  8. c++中的左移、右移运算

    移位运算包含"逻辑移位"(logical shift)和"算术移位"(arithmetic shift). 逻辑移位:移出去的位丢弃,空缺位(vacant bi ...

  9. c语言的左移运算,C语言中的左移和右移运算.docx

    C 语言中的左移和右移运算 C 语言中的左移和右移运算 (>> 和 < 1.各种数据格式(整型int ,字符型 char 等)占有几个存储单元(不同的编译器有所不同) 在TC2.0和 ...

最新文章

  1. 解题报告(二)多项式问题(多项式乘法及其各种运算)(ACM/ OI)超高质量题解
  2. P2774 方格取数问题 网络最大流 割
  3. ubuntu tacacs 服务器安装启动
  4. Aop获取bean的过程---spring debug
  5. Scala流程控制语句值顺序控制
  6. 【pytorch】pytorch自定义训练vgg16和测试数据集 微调resnet18全连接层
  7. 【多媒体内容与体验创新】
  8. python try exception类_python——异常类型
  9. 银行卡号定位与识别系统
  10. python读取图像属性并显示_图像读取和显示(Python实现),Opencv,基础,之
  11. 软件工程 第三章 需求分析
  12. Python基于迁移学习的猫狗大战实战【图像二分类任务】【实测准确度超过99.5%】
  13. 学习笔记---Javascript闭包
  14. 理解Iass Pass SasS三种云服务区别
  15. office起动缓慢_win7系统打开Office2013很慢的解决方法
  16. 充电器input与output_变频器input和output的区别?
  17. c语言编程用什么字体,10 款最适合编程的字体
  18. 进程同步问题(二)——信号量机制
  19. Vue2在使用Element-UI的分页组件遇到的问题(如PageSize,PageNum等)
  20. Mac 移动硬盘没有推出,再插上不显示移动硬盘解决办法

热门文章

  1. 【基础练习】【DFS】codevs2806 红与黑题解
  2. DirectDraw关于blt的一些注意事项
  3. Java-ZZH1-78面试题
  4. 图解机器人瓦力_从机器人瓦力看爱情
  5. 不可多得的干货!互联网公司常用分库分表方案汇总!太完整了!
  6. VR全景的拍摄制作上传
  7. Opencv4(C++)实战案例1:将朦胧的图像变清晰(去雾)
  8. 修改android.policy.jar全屏
  9. vue中v-for写在template上,加key提示错误
  10. 茶饮品牌搅局咖啡市场,咖啡加盟领域风起云涌