第1章-数据在计算机中的表示形式只是课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这在手工计算时是容易解决的,但在计算机中,为了 判断同号还是异号,比较绝对值的大小,就要增加机 器的硬件设备,并增加机器的运行时间。
1.2.2 补码
定点小数补码定义如下: ① 若定点小数的补码序列为X0 . X1…Xn ,则
式中,x 代表真值, 为补码表示的机器数。
② 若定点整数的补码序列为
,则
人为约定(“0为正,1为负”),所以符号位在运算 过程中需要单独处理,不能当作数值的一部分直接参 与运算。
原码表示简单直观,而且容易由其真值求得,相互转 换也较方便。但计算机在用原码做加减运算时比较麻 烦。
比如当两个数相加时,如果是同号,则数值相加,符 号不变;如果是异号,则数值部分实际上是相减,此 时必须比较两个数绝对值的大小,才能确定谁减谁, 并要确定结果的符号。
,则
反码与原码相比,两者的符号位一样。即对于正数,符 号位为0;对于负数,符号位为1。在数值部分,对于正 数,反码的数值部分与原码按位相同;对于负数,反码 的数值部分是原码的按位求反。
0的反码有两种表示,分别为全0或者全1。
由原码表示容易得到相应的反码表示。例如: x=+0.1001,[x]原=0.1001,[x]反=0.1001 x=-0.1001,[x]原=1.1001,[x]反=1.0110
① 若定点小数原码序列为x0. x1x2… xn ,则
[x]原= x 0≤x<1
1-x -1<x≤0
式中x代表真值,[x]原为原码表示的机器数。
▪ 例如:
x=+0.1011,则[x]原 =0.1011
x=-0.1011,则[x]原 =1-(-0.1011)=1+0.1011=1.1011
② 若定点整数原码序列为x0 x1 x2…百度文库xn ,则
由原码转换为补码的规律,当x>0时,原码与补码的表 示形式完全相同;
当x<0时,从原码转换为补码的变化规律为:“符号位 保持不变(仍为1),其他各位求反,然后末位加1”, 简称“求反加1”。
例如:x=0.1010,则[x]原=0.1010,[x]补=0.1010 x=-0.1010,则[x]原=1.1010,[x]补=1.0110
⑤ 0在补码和移码表示中都是唯一的,0在原码和反码表 示中都有两种不同的表示形式。
原码、反码、补码之间的转换 转换规则如下图所示:
1.2.4 移码
设定点整数移码形式为
,则
其中
式中x为真值,[x]移为其移码。
把真值x在数轴上向正方向平移 单位,移码由此得名。 又叫增码。
移码特点:
1)移码是把真值映射到一个正数域,因此移码的大小 可以直观地反映真值的大小。无论是正数还是负数, 用移码表示后,可以按无符号数比较大小。
② 正数的原码、补码和反码的表示形式相同,负数的原码 、补码和反码各有不同的定义,它们的表示形式不同, 相互之间可依据特定的规则进行转换。
③ 四种机器数形式的最高位均为符号位。原码、补码和 反码表示中,为0表示正数,为1表示负数;在移码表 示中,为0表示负数,为1表示正数。
④ 原码、补码和反码既可用来表示浮点数中的尾数,又 可用来表示其阶码;而移码则主要用来表示阶码。
例如: x=+0.1011, 则[x]补=0.1011 x=-0.1011, 则[x]补=2+(-0.1011)=10.0000-0.1011=1.0101 对于补码表示,具有如下特点:
① 与原码表示不同,补码的符号位是数值的一部分,因 此在补码运算中符号位像数值位一样直接参加运算。
② 在补码表示中,真值0只有一种表示,即00…0。
1.2.1 原码
约定数码序列中的最高位为符号位,符号位为0表示该数 为正数,为1表示该数为负数;其余有效数值部分则用二 进制的绝对值表示。
例如:
真值x
[x]原
+0.1001
0.1001
-0.1001
1.1001
+1001
01001
-1001
11001
定点数又有定点小数和定点整数之分,下面分别给出定点 小数和定点整数的原码定义。
容易看出,当x<0时,若把[x]补除符号位外“求反加1” ,即可得到[x]原。也就是说,对一个补码表示的数,再 次求补,可得该数的原码。
1.2.3 反码
定点小数反码定义如下: ① 若定点小数的反码序列为X0 . X1…Xn ,则
式中,x代表真值,[x]反为补码表示的机器数。
② 若定点整数的补码序列为
第1章-数据在计算机中的表示 形式
1.1 机器数与真值
▪ 电子计算机实质上是一个二进制的数字系统,在机器
内部,二进制数总是存放在由具有两种相反状态的存储 元件构成的寄存器或存储单元中,即二进制数码0和1是 由存储元件的两种相反状态来表示的。
▪ 另外,对于数的符号(正号“+”和负号“-”)也只能
用这两种相反的状态来区别。也就是说,只能用0或1来 表示。 例如:
2)移码的数值部分与相应的补码各位相同,而符号位 与补码相反。在移码中符号位为0表示真值为负数,符 号位为1表示真值为正数。
3)移码为全0时,它对应的真值最小。
4)真值0在移码中的表示是唯一的,即:
[ 0 ]移 2 n 0 0 0 L 0 1 0 0 0 L 0
四种机器数的比较和小结
① 原码、补码、反码和移码均是计算机能识别的机器数, 机器数与真值不同,它是一个数(连同符号)在计算机 中加以数码化后的表示形式。
[x]原= x
0≤x<2n
2n - x -2n<x≤0
例如:
x=+1011,则[x]原=01011 x=-1011,则[x]原=24 –(–1011)=10000+1011=11011 对于原码表示,具有如下特点:
① 原码表示中,真值0有两种表示形式。 以定点小数的原码表示为例:
[+0]原=0.00…0 [-0]原=1-(-0.00…0)=1+0.00…0=1.00…0 ② 在原码表示中,符号位不是数值的一部分,它们仅是
例1. 正二进制数N1=+1011001,在计算机中可表示为:
01011001
符号位
数值位
2. 负二进制数N1=-1011001,在计算机中可表示为:
11011001
符号位
数值位
定义:一个数(连同符号)在机器中加以数码化后的表示形式, 称为机器数;而把机器数所代表的实际值称为机器数的真值。
1.2 常见的机器数表示形式
相关文档
最新文档