问题:

16位的int

int a = 32767;std::count << a + 1 << std::endl;

涉及到数值二进制的存储形式,有三种,原码,反码,补码

一个数在计算机中的二进制表示形式,  叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1。因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如字长八位的有符号数 10000011,形式值131≠真值-3。为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值

对于一个数,计算机要使用一定的编码方式进行存储。原码,反码,补码是机器存储一个具体数字的编码方式

在程序进行数值计算的时候,使用数值的补码进行运算(内存中表现形式),然后使用计算结果的原码进行显示

原码:把最高位当作符号位,0表示正数,1表示负数,数值0的原码是0000 0000,而字长八位的1111 1111表示为-127,规定1000 0000表示为-128。字长16位的 1000 0000 0000 0000用来表示 -32768

正数的反码和原码一样,负数的反码是原码除符号位以外,每一位取反

正数的补码和原码一样,负数的补码是反码+1

所以,

32767的原码:0111 1111 1111 1111

32767的反码:0111 1111 1111 1111

32767的补码:0111 1111 1111 1111

1的补码:0000 0000 0000 0001

符号位不参与运算

32767 + 1 = 1000 0000 0000 0000 (此时是在内存中的表现形式

显示计算结果用原码,则把内存中的计算结果(1000 0000 0000 0000)转换成原码,因为最高位是1,所以是负数,补码转成原码(除符号位其余取反,+1),得:1000 0000 0000 0000,真值为-32768

同理,int8类型下,127+1=-128

127反码:0111 1111

1反码    :0000 0001

127+1=1000 0000,此时是补码,转成原码为 1000 0000,规定1000 0000 表示为-128。

参考:原码, 反码, 补码 详解 - ziqiu.zhang - 博客园

32767+1=-32768 补码相关推荐

  1. 关于-32768补码的问题

    首先要知道的是计算机中补码的表示是唯一且连续的!我想这是计算机为什么不用原码来表示的一个原因!另外,以补码形式来运算的话,设计的逻辑电路会简单很多,会少很多逻辑运算器件,所以计算机采用补码的形式来运算 ...

  2. -32767转化为二进制_程序员需要了解的硬核知识之二进制

    我们都知道,计算机的底层都是使用二进制数据进行数据流传输的,那么为什么会使用二进制表示计算机呢?或者说,什么是二进制数呢?在拓展一步,如何使用二进制进行加减乘除?二进制数如何表示负数呢?本文将一一为你 ...

  3. 13. 微型计算机中,传送cpu发出的读/写指令的总线是,我的微机原理题库

    一.填空题: 1.100= 01100100 B= 64 H 2.125= 01111101 B= 7D H 3.65500=1111111111011100B=FFDC H 4.符号数+25和-32 ...

  4. 计算机组成定点数的编码,2.1.1 定点数的表示

    2.1 数据的表示 2.1.1 定点数的表示 1.原码表示法 在实际生活中,我们遇到的数据一般是十进制的.带正/负号的.带小数点的.但遗憾的是,截至目前,计算机能直接处理还只是由0和1组成的二进制数. ...

  5. 2019年计算机考研408真题

    预览: 2019 年全国硕士研究生招生考试 计算机科学与技术学科联考 计算机学科专业基础综合试题 一. 单项选择题: 1~40 小题,每小题 2 分,共 80 分.下列每题给出的四个选项中,只有一个选 ...

  6. Java入门教程系列【1】Java基本数据类型 小白必入系列

    记忆小提示: 位数=字节*8 (因此我们只需要记住所占字节就行了) 四个整数型从小到大依次为(后一种为前一种的2倍): byte(1个字节)-> short(2个字节)->int(4个字节 ...

  7. c语言逻辑运算类指令,组成原理第二章——计算机指令

    计算机指令 算术运算指令 add a, b, c# a = b + c 设计原则一--对指令进行规整化设置 简化实现 获得更高的性能,更低的成本 代码示例 C语言代码 f = (g + h) - (i ...

  8. C语言易错题集 第三部

    目录 一.C语言程序exe相关 二.sizeof和strlen相关 三.小端存储相关 四.break和continue相关 五.函数声明相关 六.递归相关 七.预处理相关 八.C语言程序的最小单元相关 ...

  9. 8086处理器的无条件转移指令——《x86汇编语言:从实模式到保护模式》读书笔记13

    本博文是对原书8.3.10的内容的总结. 一.相对短转移 指令格式是: jmp short 标号 标号也可以替换成具体的数值(标号和数值是等价的),例如 jmp short 0x2000 说明: (1 ...

  10. 王爽 16 位汇编语言学习记录

    以下为汇编学习记录,内容全部出自王爽的16位<汇编语言>,如有错误,可直接去查看原书. 汇编语言   机器语言是机器指令集的集合,机器指令是一列二进制数字,计算机将其翻译成高低电平,从而使 ...

最新文章

  1. IT技术人员必须思考的几个问题
  2. php protected const,关于const:PHP类常量 – 公共,私有还是受保护?
  3. Java-值传递和引用传递
  4. python新建以时间命名的目录
  5. go 怎么等待所有的协程完成_怎么关闭golang协程
  6. 又一次寻找bug的经历...这次是 openlayers + chrome + win7
  7. X5档案-参加业务架构平台研讨会后记
  8. 离开小厂进大厂的第一周:我“后悔”了
  9. MSDN 访谈录(MSDN Show)C#编程
  10. python课程总结-Python课程学习总结
  11. Lonlife-ACM 1014 - Absolute Defeat [差分]
  12. 《孔雀东南飞》幕后故事的考证
  13. JT/T 808-2013 道路运输车辆卫星定位系统北斗兼容车载终端通讯协议技术规范
  14. MIT 黑科技:通过脑电波和手势控制机器人
  15. win10浏览器不能联网,电脑上其他软件可以联网
  16. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)
  17. Android性能优化之使用线程池处理异步任务
  18. 大二女生已失踪22天 最后与其接触者上吊自杀
  19. CentOS6.8 链路聚合网络主备模式的配置 创建、删除
  20. fitness0417胸

热门文章

  1. R语言 蒙特卡洛方法(Monte Carlo)
  2. 5、区域特征分析和区域提取
  3. 除了 P 站,程序员摸鱼还喜欢上哪些网站?
  4. SpringSecurity实战(五)-认证流程源码分析
  5. 企业自建私有云-openstack-介绍
  6. python demo.py_python,pycharm_【已解决】pycharm 运行 web.py demo文件问题,python,pycharm - phpStudy...
  7. 鸿蒙系统我的二次元之旅,创世神的二次元
  8. java ftp 上传失败,java ftp上传时,代码不报错,也上传不过去文件
  9. matlab设置三维图等高线,MATLAB --三维图形等高线
  10. input输入框对伪类(after,before)支持情况