- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数在计算机中的表示方法及编码
计算机中的信息不仅有数据,还有字符、命令,其中数据还有大与小、正数与负数之分。计算机是如何用“0”或“1”,来表示这些信息的呢?
1.计算机中数的表示形式
在计算机中,只有数码1和0两种不同的状态,对于一个数的正、负号,两种不同状态,约定正数的符号用0表示,负数的符号用1表示,将符号位放在数的最左边。例如:N1=+1011,N2=-1011。由于MCS—51为8位单片机,即信息是以8位为单位进行处理的,且每个存贮单元只能存贮—个8位的二进制数,称为一个字节,如果用一个字节(即8位二进制数)来表示上述两个符号数,它们在单片机中可分别表示为10001011,其中最高位为符号值,其余位为数值位。
最高位为0表示是正数,最高位为1表示是负数。这种计算机用来表示数的形式叫机器数。而把对应于该机器数的算术值叫真值。
值得注意的是:机器数和真值的面向对象不同,机器数面向计算机,真值面向用户,机器数不同于真值。但真值可以用机器数来表示。
机器数是计算机中表示数的基本方法,机器数通常有原码、反码和补码三种形式。
(1)原码表示方法
用8位二进制数表示数的原码时,最高位为数的符号位,其余7位为数值位。
例如:真值为+120和-120的原码形式
[+120]原[-120]原对于零,可以认为它是正零,也可以认为它是负零,所以零的原码有两种表示形式:
[+0]原[-0]原8位二进制数原码表示范围为01111111,即-127~+127。
(2)反码表示方法
在反码表示方法中,正数的反码与原码相同,负数的反码由它对应原码除符号位之外,其余各位按位取反得到。例如:
[+120]反=[+120]原[-120]反零的反码有两种表示方式,即:
[+0]反[-0]反8位二进制数反码表示范围为01111111,即-127~+127。
(3)补码表示方法
补码的概念:先以钟表对时为例,假设现在的标准时间为5点整,而有一只表却已是7点,为了校准时间,可以采用两种方法:一是将时针退2格,即7-2=5;一是将时针向前拨10格,即7+10=12(自动丢失)+5,都能对准到5点。可见,减2和加10是等价的,我们把(+10)称为(-2)对12的补码,12为模,当数值大于模12时可以丢弃12。
在字长为8位的二进制数字系统中,模为28=256,先看看下例:6464
+246 -10
154 1 00l10110 54
由此可见,在字长为8位情况下(64-10)与(64+246)的结果是相同的,所以(-10)和246互为补数。在补 码表示方法中,正数的补码与原码相同,负数的补码由它对应原码除符号位之外,其余各位按位取反且末位加一得到。例如:
[+120]补=[+120]原现在我们看一看(-10)的补样求得。
正数的补码表示方法与原码相同
负数的补码求法:
1)利用反码求补码:反码加1。如:
[-10]原=100010l0
[-10]反[-10]补2)利用原码求补码(直接求补法):找出原码中数值位的最右边的一个“1”,将这个“1”以及这个“1”右边各位保持不变,而将这个“1”左边各位按位取反,但符号位不变。如:
[-10]原=100010l0
[-10]补采用补码表示数,可将减法运算转换成加法运算。在补码表示法中,零的补码只有一种表示法,即 [+0]补=[-0]补对于八位二进制数而言,补码能表示的数的范围为-128~+127。
【例1-10】已知X=+1010B,Y=-1010B,写出它们的原码、反码和补码形式。
[+1010B]原 [-1010B]原
[+1010B]反 [-1010B]反
[+1010B]补 [-1010B]补
2.补码的加减运算
当用补码表示数时,可用加法完成减法运算,因此带符号数一般都以补码形式在机器中存放和参加运算。
补码的运算公式是:
[X+Y]补=[X]补+[Y]补
[X-Y]补=[X]补+[-Y]补
上述公式表明,补码的“和”等于“和”的补码。也就是说,在进行补码加法运算时,不论相加的两数是正、是负,只要把它们表示成相应的补码形式,直接按二进制规则相加,其结果都应为“和”
文档评论(0)