原码和补码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
原码和补码

原码 概念 原码(true form)是一种 HYPERLINK /view/3314.htm \t _blank 计算机中对数字的 HYPERLINK /view/18536.htm \t _blank 二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位),该位为0表示正数,该位为1表示负数,其余位表示数值的大小。 优点 简单直观;例如,我们用8位二进制表示一个数, +11的原码 -11的原码缺点 原码不能直接参加运算,可能会出错。 例如数学上,1+(-1)=0, 而在二进制中 原码10000001换算成十进制为130。 显然出错了. 计算机中所有的数均用0,1编码表示,数字的正负号也不例外,如果一个机器数字长是n位的话,约定最左边一位用作符号位,其余n-1位用于表示数值。 在符号位上用0表示正数;用1表示负数。数值位表示真值的 HYPERLINK /view/220956.htm \t _blank 绝对值。凡不足n-1位的,小数在最低位右边加零;整数则在最高位左边加零已补足n-1位。这种计算机的编码形式叫做原码。 记作X=[X]原。例如在字长n=8的机器内:   小数: [+0.1011]原=0.1011000   [-0.1011]原=1.1011000   整数: [+1011]原   [-1011]原   代码中的小数点”.”是在书写时为了清晰起见加上去的,在机器中并不出现。 原码是 HYPERLINK /view/1910414.htm \t _blank 有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。 一个字长为n的机器数能表示不同的数字的个数是固定的2^n个,n=8时2^n=256;用来表示有符号数,数的范围就是-2^n-1~+2^n-1,n=8是这个范围就是-128~+127。但是在不需要考虑数的正负时,就不需要用一位来表示符号位,n位机器数全部用来表示是数值,这时表示数的范围就是0~2^n-1,n=8时这个范围就是0~255.没有符号位的数,称为无符号数。 补码 1、在 HYPERLINK /view/1130583.htm \t _blank 计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 2、补码与 HYPERLINK /view/60480.htm \t _blank 原码的转换过程几乎是相同的。 正数的补码   与 HYPERLINK /view/60480.htm \t _blank 原码相同。 【例1】+9的补码(备注:这个+9的补码说的是用8位的2进制来表示补码的,补码表示方式很多,还有16位2进制补码表示形式,以及32位2进制补码表示形式等。同一个数字在不同的补码表示形式里头,是不同的。比方说下面所要提到的-15的补码,在8位2进制里头然而在16位2进制补码表示的情况下,就成了1111111111110001。在这篇补码概述里头涉及的补码转换默认了把一个数转换成8位2进制的补码形式,每一种补码表示形式都只能表示有限的数字。) 负数的补码   符号位为1,其余位为该数 HYPERLINK /view/220956.htm \t _blank 绝对值的原码按位取反;然后整个数加1。    【例2】求-7的补码。   因为给定数是负数,则符号位为“1”。   后七位:+7的原码(0000111)→按位取反(1111000)→加1(1111001)   所以-7的补码   已知一个数的补码,求原码的操作分两种情况:   (1)如果补码的符号位为“0”,表示是一个正数,其原码就是补码。   (2)如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。   另一种方法求负数的补码如下:   例如:求-15的补码   第一步:+15   第二步:逐位取反(1变成0,0变成1),然后在末尾加1。     再举一个例子验证下:求-64的补码   +64     【例3】已知一个补码则原码-7)。   因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。   其余七位1111001取反后为0000110;   再加1,所以是1

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档