32767+1=-32768 补码
问题:
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 补码相关推荐
- 关于-32768补码的问题
首先要知道的是计算机中补码的表示是唯一且连续的!我想这是计算机为什么不用原码来表示的一个原因!另外,以补码形式来运算的话,设计的逻辑电路会简单很多,会少很多逻辑运算器件,所以计算机采用补码的形式来运算 ...
- -32767转化为二进制_程序员需要了解的硬核知识之二进制
我们都知道,计算机的底层都是使用二进制数据进行数据流传输的,那么为什么会使用二进制表示计算机呢?或者说,什么是二进制数呢?在拓展一步,如何使用二进制进行加减乘除?二进制数如何表示负数呢?本文将一一为你 ...
- 13. 微型计算机中,传送cpu发出的读/写指令的总线是,我的微机原理题库
一.填空题: 1.100= 01100100 B= 64 H 2.125= 01111101 B= 7D H 3.65500=1111111111011100B=FFDC H 4.符号数+25和-32 ...
- 计算机组成定点数的编码,2.1.1 定点数的表示
2.1 数据的表示 2.1.1 定点数的表示 1.原码表示法 在实际生活中,我们遇到的数据一般是十进制的.带正/负号的.带小数点的.但遗憾的是,截至目前,计算机能直接处理还只是由0和1组成的二进制数. ...
- 2019年计算机考研408真题
预览: 2019 年全国硕士研究生招生考试 计算机科学与技术学科联考 计算机学科专业基础综合试题 一. 单项选择题: 1~40 小题,每小题 2 分,共 80 分.下列每题给出的四个选项中,只有一个选 ...
- Java入门教程系列【1】Java基本数据类型 小白必入系列
记忆小提示: 位数=字节*8 (因此我们只需要记住所占字节就行了) 四个整数型从小到大依次为(后一种为前一种的2倍): byte(1个字节)-> short(2个字节)->int(4个字节 ...
- c语言逻辑运算类指令,组成原理第二章——计算机指令
计算机指令 算术运算指令 add a, b, c# a = b + c 设计原则一--对指令进行规整化设置 简化实现 获得更高的性能,更低的成本 代码示例 C语言代码 f = (g + h) - (i ...
- C语言易错题集 第三部
目录 一.C语言程序exe相关 二.sizeof和strlen相关 三.小端存储相关 四.break和continue相关 五.函数声明相关 六.递归相关 七.预处理相关 八.C语言程序的最小单元相关 ...
- 8086处理器的无条件转移指令——《x86汇编语言:从实模式到保护模式》读书笔记13
本博文是对原书8.3.10的内容的总结. 一.相对短转移 指令格式是: jmp short 标号 标号也可以替换成具体的数值(标号和数值是等价的),例如 jmp short 0x2000 说明: (1 ...
- 王爽 16 位汇编语言学习记录
以下为汇编学习记录,内容全部出自王爽的16位<汇编语言>,如有错误,可直接去查看原书. 汇编语言 机器语言是机器指令集的集合,机器指令是一列二进制数字,计算机将其翻译成高低电平,从而使 ...
最新文章
- IT技术人员必须思考的几个问题
- php protected const,关于const:PHP类常量 – 公共,私有还是受保护?
- Java-值传递和引用传递
- python新建以时间命名的目录
- go 怎么等待所有的协程完成_怎么关闭golang协程
- 又一次寻找bug的经历...这次是 openlayers + chrome + win7
- X5档案-参加业务架构平台研讨会后记
- 离开小厂进大厂的第一周:我“后悔”了
- MSDN 访谈录(MSDN Show)C#编程
- python课程总结-Python课程学习总结
- Lonlife-ACM 1014 - Absolute Defeat [差分]
- 《孔雀东南飞》幕后故事的考证
- JT/T 808-2013 道路运输车辆卫星定位系统北斗兼容车载终端通讯协议技术规范
- MIT 黑科技:通过脑电波和手势控制机器人
- win10浏览器不能联网,电脑上其他软件可以联网
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)
- Android性能优化之使用线程池处理异步任务
- 大二女生已失踪22天 最后与其接触者上吊自杀
- CentOS6.8 链路聚合网络主备模式的配置 创建、删除
- fitness0417胸
热门文章
- R语言 蒙特卡洛方法(Monte Carlo)
- 5、区域特征分析和区域提取
- 除了 P 站,程序员摸鱼还喜欢上哪些网站?
- SpringSecurity实战(五)-认证流程源码分析
- 企业自建私有云-openstack-介绍
- python demo.py_python,pycharm_【已解决】pycharm 运行 web.py demo文件问题,python,pycharm - phpStudy...
- 鸿蒙系统我的二次元之旅,创世神的二次元
- java ftp 上传失败,java ftp上传时,代码不报错,也上传不过去文件
- matlab设置三维图等高线,MATLAB --三维图形等高线
- input输入框对伪类(after,before)支持情况