- 1、本文档共124页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13计算机中的数制及其转换
由以上方法可以看出,(25)10=(11001)2=(19)16=(31)8,(0.5)10=(0.1)2=(0.8)16=(0.4)8。在计算机里,通常用数字后面跟一个英文字母来表示该数的数制,十进制数用D(Decimal)、二进制数用B(Binary)、八进制数用O(Octal)、十六进制数用H(Hexadecimal)来表示。由于英文字母O容易和零误会,所以也可以用Q来表示八进制数。另外,在计算机操作中一般默认使用十进制数,所以十进制数可以不标进制。 例如,25D=1100B=19H=31Q,0.5D=0.1B=0.8H=0.4Q。当然,也可以用这些字母的小写形式来表示数制。例如:25d=1100b=19h=31q,0.5d=0.1b=0.8h=0.4q。本书约定采用大写字母形式。 八进制数和十六进制数主要用来简化二进制数的书写,因为具有23=8,24=16的关系,所以使用八进制数和十六进制数表示的二进制数较短,便于记忆。IBM-PC机中主要使用十六进制数表示二进制数和编码,所以必须十分熟悉二进制数与十六进制数的对应关系。 1.4 计算机中数与字符的编码 1.4.1 数值数据的编码及其运算 1. 二进制数的编码及运算 数据的正负号可以用一位二进制的“0”和“1”两个状态来表示,这样,二进制数值数据在计算机中就能方便表示了。为了尽可能简化对二进制数值数据实现算术运算所用到的规则,机器将二进制数值数据进行编码表示,常用的编码有原码、反码和补码。由于补码编码有许多优点,因此大多数微机数字与字符采用补码进行编码。 为了讨论方便,有必要引入两个概念:机器数和机器数的真值(简称真值)。 机器数:带符号的二进制数值数据在计算机内部的编码。 真值:机器数所代表的实际值。 一般机器数的最高有效位用来表示数的正负号,“0”表示正数,“1”表示负数。 1) 二进制数原码编码方法 原码编码的方法如下: 设真值为X,机器字长为n位,则当X≥0时,[X]原的最高位填0,其余n-1位填X的各数值位的位值。例如,n=8时,[+0]原=0 0000000,[+1]原=0 0000001,[+127]原=0 1111111。当X≤0时,[X]原的最高位填1,其余n-1位填X的各数值位的位值。例如,n=8时, [-0] 原=1 0000000,[-1]原=1 0000001,[-127] 原=1 1111111。 结论:二进制正、负数的原码就是符号化的机器数真值本身。 注意:在原码的表示中,真值0的原码可表示为两种不同的形式,+0和-0。 原码表示法的优点是简单易于理解,与真值间的转换较为方便。它的缺点是进行加减运算时较麻烦,既要考虑是做加法还是做减法运算,还要考虑数的符号和绝对值的大小。这不仅使运算器的设计较为复杂,而且降低了运算器的运算速度。 若有二进制数X=Xn-1Xn-2…X1X0,则原码表示法的定义为 2n-1>X≥0 0≥X>-2n-1 2) 二进制数反码编码方法 反码编码的方法如下: 设真值为X,机器字长为n位,则当X≥0时,[X]反的最高位填0,其余n-1位填X的各数值位的位值,即采用符号—绝对值表示。例如,n=8时,[+0]反=0 0000000,[+1]反=0 0000001,[+127]反=0 1111111。当X≤0时,[X] 反=2n-1+X (MOD 2n)。例如,n=8时,[-0] 反 [-1] 反=1 1111110,[-127] 反=1 0000000。 结论:二进制正数的反码就是其原码。二进制负数的反码就是机器数符号位保持不变,其余按位取反。 注意:在反码的表示中,真值0的反码也可表示为两种不同的形式,+0和-0。 若二进制数X=Xn-1Xn-2…X1X0,则反码表示法的定义为 2n-1>X≥0 0≥X>-2n-1 3) 二进制数补码编码方法 补码编码的方法如下: 设真值为X,机器字长为n位,则当X≥0时,[X]补的最高位填0,其余n-1位填X的各数值位的位值,即采用符号—绝对值表示。例如,n=8时,[+0]补=0 0000000, [+1]补=0 0000001,[+127]补=0 1111111。当X≤0时,[X]补=2n-|X| (MOD 2n)。例如,n=8时,[-0] 补=0 0000000,[-1]补=1 1111111,[-12
文档评论(0)