- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 数据的机器层次表示;;2.1 数值数据的表示;2.1.1 计算机中的数值数据;2.1.2 无符号数和带符号数;对于数的符号“+”和“-”,计算机是无法识别的,因此需要把符号数码化。通常,约定二进制数的最高位为符号位,“0”表示正号,“1”表示负号。这种在计算机中使用的表示数的形式称为机器数,常见的机器数有原码、反码、补码等不同的表示形式。
带符号数的最高位被用来表示符号位,而不再表示数值位。前例中的N1、N2在这里的含义变为:
N1=01001 表示+9。
N2=11001 根据机器数的不同形式表示不同的值,如是原码则表示-9,补码则表示-7,反码则表示-6。
为了能正确地区别出真值和各种机器数,本书用X表示真值,[X]原表示原码,[X]补表示补码,[X]反表示反码。
;2.1.3 原码表示法;2.1.4补码表示法;2.补码表示
补码的符号位表示方法与原码相同,其数值部分的表示与数的正负有关:对于正数,数值部分与真值形式相同;对于负数,将真值的数值部分按位取反,且在最低位加1。
若真值为纯小数,它的补码形式为 XS.X1X2…XN,其中XS表示符号位。补码的定义为:
;3.由真值、原码转换为补码
采用补码系统的计算机需要将真值或原码形式表示的数据转化为补码形式,以便于运算器对其进行运算。通常,从原码形式入手求补码。
当X为正数[X]补=[X]原=X。
当X为负数时,其[X]补等于把[X]原除去符号位外的各位求反后再加上1。
反之,当X为负数时,已知[X]补,也可通过对其除符号位外的各位反加1来求得[X]原。
当X为负数时,由[X]原转换为[X]补的另一种更有效地方法是:自低位向高位,尾数的第一个1及其右部的0保持不变,左部的各位取反,符号位保持不变。
;2.1.5 反码表示法;2.1.6 三种机器数的比较与转换;2.转换
三种不同机器码以及真值之间的转换关系如图所示。
从图2-1可以看出,真值X与补码反码之间的转换通常是通过原码实现的,如果已熟练掌握了转换方法,也可以直接完成真值与补码或反码之间的转换。
如果已知机器的字长,则机器数的位数应补够相应的位数。例如,设机器字长为8位,则:
X=1011 [X]原 [X]补 [X]反X=-1011 [X]原 [X]补 [X]反X=0.1011 [X]原=0.1011000 [X]补=0.1011000 [X]反=0.1011000
X=-0.1011 [X]原=1.1011000 [X]补=1.0101000 [X]反=1.0100111
;2.2机器数的定点表示与浮点表示;2.2.1 定点表示法;;综上所述,设机器字长有n+1位,原码定点小数的表示范围为-(1-2-n)~(1-2-n),补码定点小数的表示范围为-1~(1-2-n)。若字长为8位,原码定点小数的表示范围为 ,补码定点小数的表示范围为 。
2.定点整数
定点整数即纯整数,小数点位置隐含固定在最低有效数位之后,如图所示。
综上所述,设机器字长为n+1位,原码定点整数的表示范围为-(2n-1)~(2n-1),补码定点整数的表示范围-2n~(2n-1)。若字长为8位,原码定点整数的表示范围为-127~127,补码定点整数的表示范围为-128~127。
在定点表示法中,参加运算的数以及运算结果都必须保证落在该定点数所能表示的数值范围内,如果结果大于最大正数和小于绝对值最大的负数,统称为“溢出”。这是计算机将暂时中止运算操作,而进行溢出处理。
;;2.2.2 浮点表示法;1.浮点数的表示范围
设某浮点数的格式如图所示,k和n分别表示阶码和尾数的数值位位数(不包括符号位),尾数和阶码均用补码表示。
当es=0,ms=0,阶码和尾数的数值位各位全为1 (即阶码和尾数都为最大整数) 时,该浮点数为最大正数:
X最大正数=1-2-n
当es=1,ms=0,尾数的最低为mn=1,其余各位为0(即阶码为绝对值最大的负数,尾数为最小正数)时,该浮点数为最小正数:
X最小正数=2-n×2-2k-1
当es=0,阶码的数值位为全1;mn=1,尾数的数值位为全0(即阶码为最大正数,尾数为绝对值最大的负数)时,该浮点数为绝对值最大负数:
X绝对值最大负数=-1×22k-1
;2.规格化浮点数
为了提高运算的精度,需要充分的利用尾数的有效数位,通常采取浮点数规格化形式,即规定尾数的最高位必须是一个有效值。
一个浮点数的表示形式并不是唯一的。例如:二进制数0.0001101可以表示为0.001101×2-0
文档评论(0)