计算机中数的表示

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机中数的表示

——酸奶不错

计算机中的数及其符号都用二进制表示,称为机器数。一般用最高有效位表示数的符号,0表示正数,1表示负数。

机器数可以用不同的码制来表示,常用的有原码、反码和补码,大多数机器采用补码表示,如80x86。

正数的原码、反码和补码都一样。

负数的补码表示要经过三个步骤: 先写出与负数对应的正数的原码,然后按位求反,最后末位加

一。如下所示:

N 位补码数的表数范围: 首先明确一点,0的补码表示是唯一的:-0的补码=11111111+1=00000000

一个数的补码表示有两种,符号位为0或符号位为1,因为0的补码表示唯一(0既不是正数也不是负数,0和正数合称非负数),它占了符号位为0所能表达的数的范围一个位置,所以正数的最大值比负数绝对值的最大值小1 。举个例子,用3位来表示有符号数:

补码: 100 101 110 111 000 001 010 011

十进制:-4 -3 -2 -1 0 1 2 3

在某些情况下,要处理的数全是正数,此时再保留符号位就没有意义了,我们可以把最高有效位也作为数值处理,这样的数称为无符号整数。计算机中最常用的无符号整数是表示地址的数。 小结,N 位补码数表示的数的范围为,带符号数:-2n-1 ~ 2n-1-1,无符号数:0~2n -1。 符号扩展:一个数从位数较少扩展到位数较多。对于用补码表示的数,正数的符号扩展应该在前面补0,而负数的符号扩展则应该在前面补1。 机器字长8位: [+46]补=0010 1110 [-46]补=1101 0010 扩展到16位: [+46]补=0000 0000 0010 1110 [-46]补=1111 1111 1101 0010

相关文档
最新文档