- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 数据的表示和运算;2.2 定点数的表示和运算;
[ X ] =
[ X ] =
[ X ] =;
实例: X1 = 0.1011 -0.1011 0.0000
[ X ] 原 = 0 1011 1 1011 0 0000
1 0000
说明:原码是符号位加数的绝对值,符号 0正 1负
原码零有两个编码,+0 和 -0 的编码不同
原码难以用于加减运算,但乘除方便;实例: X1 = 0.1011 -0.1011 0.0000
[ X ]反 = 0 1011 1 0100 0 0000
1 1111
结论:反码负数为符号位跟每位的反, 符号 0正 1负
反码零有二个编码,分 +0 和 -0
反码难以用于算术运算,加减有循环进位问题;实例: X1 = 0.1011 -0.1011 0.0000
[ X ]补 = 0 1011 1 0101 0 0000
说明:补码最高一位是符号位,符号 0 正 1 负
补码表示为:2×符号位 + 数的真值
补码零只有一个编码,故能表示 -1(10000)
补码能很好地用于加减(乘除)运算;补码的一些补充说明;已知 [y]补如何简单求[- y]补;整数的编码表示;x 为真值原、反、补码表示小结;整数的移码表示 (用于浮点数阶码);- 1 0 0 0 0 0;2.2.2 定点数的运算;【例】 选择题:数据每左移1 位相当于原数乘以2 , 为防止左移操作造成溢出,补码左移的前提条件是其原最高有效位( )。
(当运算结果超出机器数所能表示的范围时,称为溢出。)A.为0 B.为1 C.与原符号位相同 D.与原符号位相异
【分析】当最高有效位和符号位不一致时,如果左移1 位,将会发生溢出。
【归纳总结】算术移位是带符号数的移位,移位前后符号位不应该发生变化。如果最高有效位和符号位不一致,则左移1 位,符号位将发生变化。
答案: C
【例】已知[X/2]补=C6H,计算机的字长为8位二进制编码,
[X]补=?
解: [X]补= [X/2]补×2 ,
C6H,左移1位变=8CH
[X]补=8CH;(2)原码定点数的加/减运算;(3)补码定点数的加/减运算;实现补码加减运算的逻辑电路实现补码减运算的逻辑电路;(4)溢出概念和判别方??;补码加减法溢出判断;补码加减法运算实例;单符号位判断;符号位与最高数值位判断;双符号位判断;单选题:(2009年)一个 C 语言机器在一台32位机器上运行。程序中定义了三个变量 x,y和z,其中x和z是int型,y 为 short型。当 x = 127,y = -9 时,执行赋值语句 z = x+y 后,x,y和z的值分别是( )。
A.x = 0000007FH, y = FFF9H, z =
B.x = 0000007FH, y = FFF9H, z = FFFF0076H
C.x = 0000007FH, y = FFF7H, z = FFFF0076H
D.x = 0000007FH, y = FFF7H, z =
分析: short型数据为16位;int型为32位(从选择项中也可知)。
对于y=-9,在机器中用补码表示为FFF7H(关键),计算
z=x+y=0000007FH+FFFFFFF7H(符号扩展为32位)=
技巧:可用排除法,得到 =-9的补码为FFF7H 可排除A和B,再由127+(-9)=118可知z为正数,即可排除C,再验证D中z=76H=118,确认选D。
考查知识点: 16 进制负数的补码表示,符号扩展,补码运算。
答案: D;对于 固定字长的数,右移将舍去低位部分。
两种常用的舍入规则:
0舍1入法:
末位恒置1法:;(6
原创力文档


文档评论(0)