第三章 机器数的表示

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
阶 符
1
0
0
尾 符
1
0 尾数
0
1
阶码
计算机组成原理
第二节 定点数的原码、反码和补码
1. 定点数的原码表示
原码:真值x的符号数值化后的机器数,记[x]原 1) 正数的原码 真值x=+11010,n=6,则[x]原=[+11010]原=011010 即: [x]原=x+2n (0<x<2n-1) n为字长
2) 负数的反码 真值x=-11010,则[x]反=[-11010]反=100101 即: [x]反=2n-1+x (-2n-1 <x< 0) 3) 0的反码 正0的反码 [x]反=[+00000]反=000000 负0的反码 [x]反=[-00000]反=111111
计算机组成原理
第二节 定点数的原码、反码和补码
2. 定点数的反码表示
综上,字长为n的定点整数的反码定义为: x+2n (0≤x<2n-1) [x]反 = n 2 -1+x (-2n-1<x≤0)
字长为n的定点纯小数的反码定义为: x+2 (0≤x<1) [x]反= 2-2-(n-1)+x (-1<x≤0) 结论:正数的反码和原码相同,负数的反码 是对其原码除符号位外各位取反。
3. 浮点数的表示
3) 浮点数的模4补码表示如何判断溢出
溢出:当尾数用模4补码表示时,符号位为01 或10时,表示尾数溢出。尾数溢出不能说明 浮点数溢出,要进行判断。 判断溢出的步骤及例题如P39 讲:
00
11 00
001
001 111
01
10 01
0000
1000 0100
右规处理 右规处理 右规处理
计算机组成原理
第二节 定点数的原码、反码和补码
4.三种编码的总结和比较
3)加减运算 补码和反码的符号位可作为数值的一部分看待,可以和 数值位一起参加运算。 原码的符号位必须和代表绝对值的数值位分开处理。
4)表数范围 原码和反码的表数范围相对零来说是对称的。n位时,原 码和反码的表数范围都是:整数:±(2n-1-1); 小数: ±(1-2-n+1) 补码的表示范围不对称,负数表示的范围较正数宽, 能多表示一个最小负数:-2n-1 或-1
字长为n的机器数,用2位表示符号位,则负 数的变形补码表示为: [x]变补=2n+x (-2n-2≤x< 2n-2 ) [x]变补=2+x (-1≤x<1) [-11010]变原=1111010 [11010]变原=0011010 [-11010]变反=1100101 [11010]变反=0011010 [-11010]变补=1100110 [11010]变补=0011010
0 0 … 0 1 1 1 …
2-n ≤X≤1-2-n 结论:机器数在表示时,是有一定范围的。
计算机组成原理
最小值 n位
最大值 n位
第一节 机器数的特点
3. 符号的数值化
当数字是有符号数时,把最高位当作符号位; 规定:用“0”代表正号+;用“1”代表负号-。
0 1 0 1 0 0 1
表示+101001
当用移码表示阶码时, 0≤ [x]移< 2n
1位 尾符 阶码 尾数
计算机组成原理
第三节 变形码、移码和浮点数表示
3. 浮点数的表示
例题:P40例3.17
(10)10=23 ×1.25
0 00000000011 +01111111111 0 10000000010 4 0 2
(0.25)10 =(0.01)2
由N=2E ×M
所以该机器数所能表示的浮点数最大值为27 ×(1-2-11) 最小值为27 ×(-1) 最小绝对值为2-8 ×2-11
计算机组成原理
第三节பைடு நூலகம்变形码、移码和浮点数表示
3. 浮点数的表示
2) 规格化浮点数的尾数及其模4补码的形式
模4补码形式: 符号位有4种形式,即00、01、10、11
10·00 · ·
-2n-1
10·01 · ·
-(2n-1-1)
11·11 · · -1
00·00 · ·
0 补码
00·01 · ·
01·11 · · 2n-1-1
1
计算机组成原理
第三节 变形码、移码和浮点数表示
1. 变形码 变形码:符号位有多位,每位都是1表示负, 每位都是0表示正。
变形码的表示:有变形原码、变形反码、变形补码 三种形式。
8 位移码表示的机器数是其对应的真值在数轴上向右平 移了 128 个位置。 负数 正数 +127 机器数
0
-128
移码表示范围: 00000000 ~ 11111111
计算机组成原理
第三节 变形码、移码和浮点数表示
2. 定点数的移码
几个问题: 1、符号问题
2、0的移码 0的移码也具有0的唯一性 3、 -2n-1的移码 [-2n-1]移= 2n-1 -2n-1 = 0 4、与补码的关系 [x]补= 2n+x = 2n-1 + 2n-1 + x= 2n-1 + [x]移 同一个真值的补码与移码的异同是: 数值部分相同,而符号位正好相反。
1 1 0 0 1 0 1
表示-100101
计算机组成原理
第一节 机器数的特点
4. 小数点的位置有一定的约定方式
在机器数中,根据小数点的位置是否固定分为定点表示和浮点表示。
定点表示:小数点的位置固定不变。
Xn-1 Xn-2Xn-3…X1X0 Xn-1 Xn-2Xn-3…X1X0
浮点表示:小数点的位置不定。则二进制数 X可以表示成:X=2r· x。r为阶码,x为尾数。
00
11 01
010
010 000
00
11 00
1000
0100 1010
无 无 溢出
计算机组成原理
第三节 变形码、移码和浮点数表示
3. 浮点数的表示
4) 浮点数的一般表示格式
1位 1位
尾符
阶符
阶码
尾数
阶码用移码表示,好处是阶码的符号位可以省略
即:由[x]移=2n-1+x (-2n-1≤x< 2n-1 )可知:
计算机组成原理
第二节 定点数的原码、反码和补码
4.三种编码的总结和比较
1)机器数与真值间的转换 对于正数:符号为0,其数值部分同真值的数值部分; 对于负数:符号为1,数值位各有不同的表示:
原码:同真值的数值位相同
补码:真值的数值位各位取反,末位加1。 反码:真值的数值位各位取反。 2)零的表示
原码和反码都有+0和-0两种零的表示法; 补码可唯一表示零。
即: [x]补=2n+x (-2n-1 <x< 0)
计算机组成原理
第二节 定点数的原码、反码和补码
3. 定点数的补码表示
3) 0的补码 正0的补码 [+0]补= 2n+(+0) =000000
负0的补码 [-0]补 = 2n+(-0) =000000 可知: 正0与负0相等,即0在补码上具有唯一性。 4) -2n-1的补码 [-2n-1]补= 2n+(-2n-1) = 2n-1 (2-1)= 2n-1 = [2n-1]补
2) 负数的原码 真值x=-11010,则[x]原=[-11010]原=111010 即: [x]原=2n-1-x (-2n-1 <x< 0) 3) 0的原码 [+0]原=000000
[-0]原=100000
计算机组成原理
第二节 定点数的原码、反码和补码
1. 定点数的原码表示
综上,字长为n的定点整数的原码定义为: x+2n (0≤x<2n-1) [x]原 = n-1 2 -x (-2n-1<x≤0)
计算机组成原理
第二节 定点数的原码、反码和补码
3. 定点数的补码表示
补码:正数的补码和原码相同,负数的补码是 对其原码除符号位外各位取反加1,记[x]补 1) 正数的补码
[x]补=[x]原 2) 负数的补码 即:[x]补= 2n + x (0<x<2n-1)
真值x=-11010,则[x]补=[-11010]反+ 1 =100110
1
0
1
1
0
1
0
计算机组成原理
第三节 变形码、移码和浮点数表示
3. 浮点数的表示
练习:P38例3.14
解:可知
[x]补=2n+x (-2n-1≤x< 2n-1 ) [x]补=2+x (-1≤x<1)
4位阶码是整数,用补码所能表示的最大值和最小值分别为: 24-1-1 =7和-24-1 =-8 12位尾数是纯小数,它所能表示的补码最大值和最小值为: 1-2-11和-1
计算机组成原理
第三节 变形码、移码和浮点数表示
3. 浮点数的表示
1) 浮点数的原、反、补码表示 即是把浮点数的阶码和尾数用原、反或补 码表示 把浮点数x=2-11×0.11010分别用原码、反 码、补码表示如下:
原码: 反码: 补码:
1 0 1 1 0 1 1 0 1 0
1
1
0
0
0
1
1
0
1
0
1
1
0
0100 (1023)10 … 0
移码表示 0100 … 0 4 0000 0000 0000
计算机组成原理
(10)10的十六进制表示为(4024 0000 0000 0000)16
第四节 机器数表示形式的变换
1. 补码与真值x的转换公式
由[x]补=2n x0+x 知 x=-2n x0 + [x]补
计算机组成原理
第三节 变形码、移码和浮点数表示
2. 定点数的移码(移码通常用于表示浮点数的阶码。)
对于字长为n的定点整数,真值x的移码为:
[x]移=2n-1+x (-2n-1≤x< 2n-1 )或[x]移=x (mod 2n-1) 字长为n的定点纯小数,真值x的移码为: [x]移=1+x (-1≤x<1) 练习:x1=+10101,x2=-10101 [x1]移= 25 +x1=100000+10101=110101 [x2]移= 25 +x2=100000-10101=001011 可见,移码中的符号位与原、反、补码中相反 “1”表示正,“0”表示负,即正用1,负用0表 示 计算机组成原理
第三章 机器数的表示
1. 机器数的特点
2. 定点数的原码、反码和补码
3. 变形码、移码和浮点数表示
4. 机器数表示形式的变换
计算机组成原理
第一节 机器数的特点
1. 机器数用二进制数码表示
两个概念:
二进制数在用来表示机器数方面的特点: 机器数:在机器内存放的正负号数码化的数。
1. 可用任何具有两个不同稳定状态的元件来表示。
当x ≥0时, x0=0,则x= [x]补 当x ≤0时, x0=1,则x= -(2n –1-[x]补+1) 结论:X为正时,真值等于其补码 X为负时,数值等于其补码按位取反加1
例:P42例3.19
讲:n=8, x0=1 x= -(28 –1-[x]补+1)=-1100110
计算机组成原理
第二节 定点数的原码、反码和补码
4. 练习
设定长为n的定点整数,第一位是符号位,请用数轴形 式说明原码、反码、补码表示的范围及可能的数码组合。
11·11 · · -(2n-1-1) 10·00 · · -(2n-1-1) 10·01 · · -1 11·10 · · -1 10·00 00·00 · · · · 0 原码 11·11 00·00 · · · · 0 反码 00·01 · · 1 00·01 · · 1 01·11 · · 2n-1-1 01·11 · · 2n-1-1
规格化:表示尾数时对应真值的小数点后第一位应 是1 综上:模4补码规格化形式为形如00.1·或11.0·的样 · · · · 式 非规格化形式如00.0 ·或11.1 ·,则可用左规方法 · · · · 规格化处理
00 010 00 0100
左规处理
00
001
00
1000
计算机组成原理
第三节 变形码、移码和浮点数表示
字长为n的定点纯小数的原码定义为: x+2 (0≤x<1) [x]原= 20-x (-1<x≤0) 结论:真值x的原码是符号位用0表示正,1表 示负,数值部分保持不变。
计算机组成原理
第二节 定点数的原码、反码和补码
2. 定点数的反码表示
反码:记[x]反 1) 正数的反码 [x]反=[x]原 即:[x]反=x+2n (0<x<2n-1)
真值:在机器外存放的由正负号表示的数。
2. 四则运算简单。 3. 节省存储设备。
4. 便于逻辑代数应用。
计算机组成原理
第一节 机器数的特点
2. 机器数所表示数值的范围有限
1. 机器数表示不带符号的整数
0 0 … 0 1 1 1 … 1 1
最小值 n位
最大值 n位
1≤X≤2n-1
1 1
2. 机器数表示不带符号的纯小数
计算机组成原理
第二节 定点数的原码、反码和补码
3. 定点数的补码表示
综上,字长为n的定点整数的补码定义为: [x]补=2n+x (-2n-1≤x< 2n-1 )
字长为n的定点纯小数的补码定义为: [x]补=2+x (-1≤x<1) 补码的优点: I、减法可以用加法实现; II、符号位可以参与运算; III、0唯一性。 IV、表示范围大
相关文档
最新文档