在计算机组成原理书籍这门课程中,书上说反码的模比补码的模少1,这是为什么啊?

计算机组成原理
3.6 原码、补码和反码【人人网 - 分享】
计算机组成原理
3.6 原码、补码和反码
分享这个视频的人喜欢
分享这个视频的人也爱看
?好不容易遇见爱
傻子和疯子
宝宝们回家咯
磨人的丑八怪
哈哈哈哈哈
这是一个很慢热的主播-.-
你们开学了吗?
热门视频推荐
热门日志推荐
同类视频推荐
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
文明办网文明上网举报电话: 举报邮箱:&&&&&&&&&&&&
请输入手机号,完成注册
请输入验证码
密码必须由6-20个字符组成
下载人人客户端
品评校花校草,体验校园广场【图文】原码反码补码说课_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
原码反码补码说课
大小:1.38MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢博客分类:
一.机器数和真值
一个数在计算机中的二进制表示形式,
叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。
十进制7机器数就是,十进制-7机器数就是。
将带符号位的机器数对应的真正数值称为机器数的真值。就是上面例子里的7和-7。
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 ,其最高位1代表负,其真正数值是 -7 而不是形式值135(转换成十进制等于135)。
二.原码 反码 补码的基本概念和计算方法
原码就是符号位加上真值的绝对值(就是机器数), 即用第一位表示符号, 其余位表示值。
原码是人脑最容易理解和计算的表示方式。
正数的反码是其本身。
[7]=[]原=[]反
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。[-7]=[]原=[]反
正数的补码就是其本身。
[7]=[]原=[]补
负数的补码是在反码的基础上+1。
[-7]=[]原=[]补
对于负数, 补码表示方式是人脑无法直观看出其数值的。
三.为何要使用原码 反码 补码
两个数做加减的时候,人脑很自然的会区分正负数并做相应运算。但计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行,而且是保留符号位的加法运算。于是产生了反码 补码。
先看看三种运算:
原码运算。如果用原码表示,让符号位也参与计算,显然对于减法来说,结果是不正确的。这也就是为何计算机内部不使用原码表示一个数。
1 - 1 = 1 + (-1) = []原 + []原 = []原 = -2
反码运算。发现用反码计算减法,结果的真值部分是正确的。而唯一的问题其实就出现在"0"这个特殊的数值上. 虽然人们理解上+0和-0是一样的,但是0带符号是没有任何意义的。而且会有[]原
两个编码表示0。
1 - 1 = 1 + (-1) = []反 + []反 = []反 = []原 = -0
补码运算。解决了0的符号。
1 - 1 = 1 + (-1) = []补 + []补 = []补 = []原 = 0
四.-128的补码问题
假设机器能处理的位数为8,即一个字节,如果不考虑最高位用做符号位的情况,8位可以表示的数据区间是 - ,即0-255,共256个数据。
如果考虑最高位用做符号位的情况,8位可以表示的数据区间是 -和 - ,即-127 - -0和+0 - 127,共256个数据。
在原码和反码中,数据的区间为-127 - -0和+0 - 127;在补码里面用-128代替了原码和反码里的-0,补码范围变成了-128 - 0 - 127。
补码里面用-128代替了原码和反码里的-0产生了什么
原码和反码里面:[-0] = []原 = []反 = []补
补码里面:-128代替上面的[-0]==========&[-128] = []补,但-128并没有原码和反码表示。
(-1) + (-127) = []原 + []原 = []补 + []补 = []补 = -128
五.补码的设计目的
使符号位能与有效值部分一起参加运算,从而简化运算规则。
使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。
六.补码的原理分析
见参考文章
同时感谢参考文章。
浏览: 482111 次
来自: 深圳
浏览量:181178
请问,你知道在FSEdigLog#loadFSEdits()时 ...
七.等待队列(本是Object里的方法,但影响了线程)noti ...
虽然是三年前的帖子,但还是想回复博主,logger是继承了ca ...
好好学习,天天向上!
楼主你好!我运行报错SLF4J: Class path con ...

我要回帖

更多关于 计算机组成原理第五版 的文章

 

随机推荐