




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(6)据题意画出该浮点数格式:
1519阶符阶码数符尾数由于题意中未指定该浮点数所采用的码制,则不同的假设前提会导致不同的答案,示意如下:1)当采用阶原尾原非规格化数时,最大正数=0,11111;0.111111111最小正数=1,11111;0.000000001则正数表示范围为:
231(1-2-9)~2-312-9三、举例例6.13将+写成二进制定点数、浮点数及在定点机和浮点机中的机器数形式。其中数值部分均取10位,数符取1位,浮点数阶码取5位(含1位阶符)。19128解:设
x=+19128二进制形式定点表示浮点规格化形式[x]原=1,0010;0.1001100000[x]补=1,1110;0.1001100000[x]反=1,1101;0.1001100000定点机中浮点机中000x=0.0010011x=0.0010011x=0.1001100000×2-10[x]原=[x]补=[x]反=0.00100110006.2x=–1110100000例6.14将–58表示成二进制定点数和浮点数,并写出它在定点机和浮点机中的三种机器数及阶码为移码、尾数为补码的形式(其他要求同上例)。解:设
x=–58二进制形式定点表示浮点规格化形式[x]原=1,0000111010[x]补=1,1111000110[x]反=1,1111000101[x]原=0,0110;1.1110100000[x]补=0,0110;1.0001100000[x]反=0,0110;1.0001011111定点机中浮点机中[x]阶移、尾补=1,0110;1.0001100000x=–111010x=–(0.1110100000)×21106.2例6.15写出对应下图所示的浮点数的补码形式。设n=10,m=4,阶符、数符各取1位。负数区正数区下溢0上溢上溢–2(2m–1)×(1
–
2–n)2(2m–1)×(1
–
2–n)2–(2m–1)×2–n最小负数最大正数最小正数–2–(2m–1)×2–n最大负数解:真值最大正数最小正数最大负数最小负数215×(1
–
2–10)2–15×2–10–2–15×2–10–215×(1
–
2–10)0,1111;0.11111111111,0001;0.00000000011,0001;1.11111111110,1111;1.0000000001补码6.2
当浮点数尾数为0时,不论其阶码为何值
按机器零处理机器零
当浮点数阶码等于或小于它所表示的最小数时,不论尾数为何值,按机器零处理如m=4n=10当阶码用移码,尾数用补码表示时,机器零为0,0000;0.000
…
1,0000;×.×××
…×,××××;0.000
…有利于机器中“判0”电路的实现当阶码和尾数都用补码表示时,机器零为6.2(阶码=16)2.浮点数的表示范围–2(2m–1)×(1
–
2–n)–2–(2m–1)×2–n2(2m–1)×(1
–
2–n)2–(2m–1)×2–n最小负数最大负数最大正数最小正数负数区正数区下溢0上溢上溢–215
×(1
–
2-10)
–2-15
×2-10
215
×(1
–
2-10)
设m=4
n=10上溢阶码>最大阶码下溢阶码<最小阶码按机器零处理6.22-15
×2-10
练习设机器数字长为24位,欲表示±3万的十进制数,试问在保证数的最大精度的前提下,除阶符、数符各取1位外,阶码、尾数各取几位?满足最大精度可取m=4,n=18解:…m=4,5,6,15位二进制数可反映±3万之间的十进制数∴215
=32768214
=16384∵6.2215×0.××××××15位…3.浮点数的规格化形式r=2尾数最高位为1r=4尾数最高2位不全为0r=8尾数最高3位不全为04.浮点数的规格化r=2左规尾数左移1位,阶码减1右规尾数右移1位,阶码加1r=4左规尾数左移2位,阶码减1右规尾数右移2位,阶码加1r=8左规尾数左移3位,阶码减1右规尾数右移3位,阶码加1基数r越大,可表示的浮点数的范围越大基数不同,浮点数的规格化形式不同基数r越大,浮点数的精度降低6.2例如:最大正数=215×(1–2–10)
2+1111×0.111111111110个1最小正数最大负数最小负数=2–15×2–1
=–215×(1–2–10)
=2–16=–2–15×2–1
=–2–162-1111×0.10000000009个02-1111×(–0.1000000000)9个02+1111×(–0.1111111111)10个1设m=4,n=10,r=2尾数规格化后的浮点数表示范围6.212.设浮点数格式为:阶符1位、阶码4位、数符1位、尾数10位。
写出51/128、27/1024、7.375、-86.5所对应的机器数。要求
(1)阶码和尾数均为原码;
(2)阶码和尾数均为补码;
(3)阶码为移码,尾数为补码。
解:据题意画出该浮点数的格式:
14110阶符阶码数符尾数
将十进制数转换为二进制:
x1=51/128 =(0.0110011)2 =2-1(0.110011)2
x2=-27/1024 =(-0.0000011011)2 =2-5
(-0.11011)2
x3=7.375 =(111.011)2 =23
(0.111011)2
x4=-86.5 =(-1010110.1)2=27
(-0.10101101)2
则以上各数的浮点数为:
(1)[x1]浮=1,0001;0.1100110000
(2)[x1]浮=1,1111;0.1100110000
(3)[x1]浮=0,1111;0.1100110000规格化数3.浮点数的规格化形式r=2尾数最高位为1r=4尾数最高2位不全为0r=8尾数最高3位不全为04.浮点数的规格化r=2左规尾数左移1位,阶码减1右规尾数右移1位,阶码加1r=4左规尾数左移2位,阶码减1右规尾数右移2位,阶码加1r=8左规尾数左移3位,阶码减1右规尾数右移3位,阶码加1基数r越大,可表示的浮点数的范围越大基数不同,浮点数的规格化形式不同基数r越大,浮点数的精度降低(1)[x2]浮=1,0101;1.1101100000
(2)[x2]浮=1,1011;1.0010100000
(3)[x2]浮=0,1011;1.0010100000
(1)[x3]浮=0,0011;0.1110110000
(2)[x3]浮=0,0011;0.1110110000
(3)[x3]浮=1,0011;0.1110110000
(1)[x4]浮=0,0111;1.1010110100
(2)[x4]浮=0,0111;1.0101001100
(3)[x4]浮=1,0111;1.0101001100
注:以上浮点数也可采用如下格式:
11410数符阶符阶码尾数
此时只要将上述答案中的数符位移到最前面即可。13.浮点数格式同上题,当阶码基值分别取2和16时,
(1)说明2和16在浮点数中如何表示。
(2)基值不同对浮点数什么有影响?
(3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情
况下所能表示的最大正数和非零最小正数真值。
解:(1)阶码基值不论取何值,在浮点数中均为隐含表示,即:2和16不出
现在浮点格式中,仅为人为的约定。(2)当基值不同时,对数的表示范围和精度都有影响。即:在浮点格式不变的情况下,基越大,可表示的浮点数范围越大,但精度越下降。
(3)r=2时,最大正数的浮点格式为:
0,1111;0.1111111111其真值为:N+max=215×(1-2-10)
非零最小规格化正数浮点格式为:
1,0000;0.1000000000其真值为:N+min=2-16×2-1=2-17
r=16时,最大正数的浮点格式为:
0,1111;0.1111111111其真值为:N+max=1615×(1-2-10)
非零最小规格化正数浮点格式为:
1,0000;0.0001000000其真值为:N+min=16-16×16-1=16-1714.设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?
解:若要保证数的最大精度,应取阶的基=2。
若要表示±6万间的十进制数,由于32768(215)<6万<65536(216),则:阶码除阶符外还应取16位(向上取2的幂)。
故:尾数位数=32-1-1-16=14位
按此格式,该浮点数上溢的条件为:阶码216(65536)
该浮点数格式如下:
116114阶符
阶值数符
尾数15.什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式?
解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零”,而真零对应数轴上的一点(0点)。若要求用“全0”表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正好为“0”,补码的零的形式也为“0”,拼起来正好为一串0的形式)。17.设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。
[x1]原=0.0011010;
[x2]原=1.1101000;
[x3]原=1.0011001;
[y1]补=0.1010100;
[y2]补=1.1101000;
[y3]补=1.0011001;
[z1]反=1.0101111;
[z2]反=1.1101000;
[z3]反=1.0011001。解:算术左移一位:
[x1]原=0.0110100;正确
[x2]原=1.1010000;溢出(丢1)出错
[x3]原=1.0110010;正确
[y1]补=0.0101000;溢出(丢1)出错
[y2]补=1.1010000;正确
[y3]补=1.0110010;溢出(丢0)出错
[z1]反=1.1011111;溢出(丢0)出错
[z2]反=1.1010001;正确
[z3]反=1.0110011;溢出(丢0)出错
算术左移两位:
[x1]原=0.1101000;正确
[x2]原=1.0100000;溢出(丢11)出错
[x3]原=1.1100100;正确
算术左移两位:
[y1]补=0.1010000;溢出(丢10)出错
[y2]补=1.0100000;正确
[y3]补=1.1100100;溢出(丢00)出错
[z1]反=1.0111111;溢出(丢01)出错
[z2]反=1.0100011;正确
[z3]反=1.1100111;溢出(丢00)出错
算术右移一位:
[x1]原=0.0001101;正确
[x2]原=1.0110100;正确
[x3]原=1.0001100(1);丢1,产生误差
[y1]补=0.0101010;正确
[y2]补=1.1110100;正确
[y3]补=1.1001100(1);丢1,产生误差
算术右移一位:
[z1]反=1.1010111;正确
[z2]反=1.1110100(0);丢0,产生误差
[z3]反=1.1001100;正确
算术右移两位:
[x1]原=0.0000110(10);产生误差
[x2]原=1.0011010;正确
[x3]原=1.0000110(01);产生误差
[y1]补=0.0010101;正确
[y2]补=1.1111010;正确
[y3]补=1.1100110(01);产生误差
[z1]反=1.1101011;正确
[z2]反=1.1111010(00);产生误差
[z3]反=1.1100110(01);产生误差18.试比较逻辑移位和算术移位。
解:逻辑移位和算术移位的区别:
逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。
算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。
补码或反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。2.算术移位规则1右移添1左移添00反码补码原码负数0原码、补码、反码正数添补代码码制符号位不变6.3例6.16设机器数字长为8位(含1位符号位),写出A=+26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解:A=+26则[A]原=[A]补=[A]反=0,0011010+
60,0000110+130,0001101+1040,1101000+
520,0110100+260,0011010移位前[A]原=[A]补=[A]反对应的真值机器数移位操作=+110106.3左移一位左移两位右移一位右移两位例6.17设机器数字长为8位(含1位符号位),写出A=–26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解:A=–26–61,0000110–131,0001101–1041,1101000–521,0110100–261,0011010移位前对应的真值机器数移位操作原码=–110106.3左移一位左移两位右移一位右移两位–61,1111001–131,1110010–1041,0010111–521,1001011–261,1100101移位前对应的真值机器数移位操作–71,1111001–131,1110011–1041,0011000–521,1001100–261,1100110移位前对应的真值机器数移位操作补码反码6.3左移一位左移两位右移一位右移两位左移一位左移两位右移一位右移两位4.算术移位和逻辑移位的区别算术移位有符号数的移位逻辑移位无符号数的移位逻辑左移逻辑右移低位添0,高位移丢高位添0,低位移丢例如
01010011逻辑左移10100110逻辑右移01011001算术左移算术右移0010011011011001(补码)高位1移丢010100110Cy0101001100101100106.320.用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x·y。
(1)x=0.110111,y=-0.101110;
(2)x=-0.010111,y=-0.010101;
(3)x=19,y=35;
(4)x=0.11011,y=-0.11101。
解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。
(1)[x]原=x=0.110111,[y]原=1.101110
x*=0.110111,y*=0.101110
x0=0,y0=1,z0=x0
y0=0
1=1
x*×y*=0.100111100010
[x×y]原=1.100111100010
x·y=-0.100111100010原码一位乘:
部分积乘数y*
0.000000.101110——+0
10.0000000.10111——+x*
+0.110111
0.110111
10.01101110.1011——+x*
+0.110111
1.010010
10.101001010.101——+x*
+0.110111
1.100000
10.1100000010.10——+0
10.01100000010.1——x*
+0.110111
1.001111
10.1001111000102x*=01.101110,[-x*]补=[-x]补=1.001001
原码两位乘:
部分积乘数Cj
000.00000000.1011100
+001.101110+2x*
001.1011100
2000.0110111000.1011
+111.001001+[-x*]补
111.1001001
2111.111001001000.10
+111.001001+[-x*]补
111.0000101
2111.11000010001000.
+000.110111+x*
000.1001111000100
结果同一位乘,x·y=-0.100111100010[x]补=x=0.110111
[y]补=1.010010
[-x]补=1.001001
[2x]补=01.101110
[-2x]补=10.010010
[x×y]补=1.0110000111100
x·y=-0.1001111000100
补码一位乘、两位乘运算过程如下:补码一位乘:部分积乘数[y]补yn+1
00.0000001.0100100——+0
100.00000001.010010
+11.001001+[-x]补
11.001001
111.100100101.01001
+00.110111+[x]补
00.011011
100.0011011101.0100——+0
100.00011011101.010
+11.001001+[-x]补
11.001111
111.100111111101.01
+00.110111+[x]补
00.011110
100.0011110111101.0
+11.001001+[-x]补
11.0110000111100——清0补码两位乘:
部分积乘数yn+1
000.00000011.0100100
+110.010010+[-2x]补
110.010010
2111.1001001011.01001
+000.110111+[x]补
000.011011
2000.000110111011.010
+000.110111+[x]补
000.111101
2000.00111101111011.0
+111.001001+[-x]补
111.01100001111000.
结果同补码一位乘,x·y=-0.10011110001000(2)x=-0.010111,y=-0.010101
[x]原=1.010111,[y]原=1.010101
x*=0.010111,y*=0.010101
[-x*]补=1.101001,2x*=0.101110
[-2x*]补=1.010010
x0=1,y0=1,z0=x0
y0=1
1=0
[x]补=1.101001,[y]补=1.101011
[-x]补=0.010111,[2x]补=1.010010
[-2x]补=0.101110
x*×y*=0.000111100011
[x×y]原=0.000111100011
[x×y]补=0.0001111000110
x·y=0.000111100011
运算过程如下:原码一位乘:
部分积乘数y*
0.000000.010101——+x*
+0.010111
0.010111
10.0010111.01010——+0
10.00010111.0101——+x*
+0.010111
0.011100
10.001110011.010——+0
10.0001110011.01——+x*
+0.010111
0.011110
10.00111100011.0——+0
10.000111100011
原码两位乘:
部分积乘数y*Cj
000.00000000.0101010
+000.010111+x*
000.0101110
2000.0001011100.0101
+000.010111+x*
000.0111000
2000.000111001100.01
+000.010111+x*
000.0111100
2000.00011110001100.
+0
结果同一位乘,x·y=0.000111100011补码一位乘:部分积乘数[y]补yn+1
00.0000001.1010110
+00.010111+[-x]补
00.010111
100.00101111.101011——+0
100.000101111.10101
+11.101001+[x]补
11.101110
111.1101110111.1010
+00.010111+[-x]补
00.001110
100.00011100111.101
+11.101001+[x]补
11.110000
111.111000000111.10
+00.010111+[-x]补
00.001111
100.0001111000111.1——+0补码两位乘:
部分积乘数yn+1
000.00000011.1010110
+000.010111+[-x]补
000.010111
2000.0001011111.10101
+000.010111+[-x]补
000.011100
2000.000111001111.101
+000.010111+[-x]补
000.011110
2000.00011110001111.1
清0+0
结果同补码一位乘,x·y=0.00011110001100(3)x=19,y=35
x=(10011)2,y=(100011)2
x*=[x]原=[x]补=0,010011
y*=[y]原=[y]补=0,100011
[-x*]补=[-x]补=1,101101
2x*=[2x]补=0,100110
[-2x*]补=[-2x]补=1,011010
x0=0,y0=0,z0=x0
y0=0
0=0
x·y=x*×y*=[x×y]原=[x×y]补
=0,001010011001
运算过程如下:原码一位乘:
部分积乘数y*
0,000000100011——+x*
+0,010011
0,010011
10,001001110001——+x*
+0,010011
0,011100
10,001110011000——+0
10,000111001100——+0
10,000011100110——+0
10,000001110011——+x*
+0,010011
0,010100
10,001010011001
原码两位乘:
部分积乘数y*Cj
000,00000000,1000110
+111,101101+[-x*]补
111,1011011
2111,1110110100,1000
+000,010011+x*
000,0011100
2000,000011100100,10
+000,100110+2x*
000,1010010
2000,00101001
100100,
+0
结果同一位乘,x·y=0,001010011001补码一位乘:部分积乘数[y]补yn+1
00,0000000,1000110
+11,101101+[-x]补
11,101101
111,11011010,100011——+0
111,111011010,10001
+00,010011+[x]补
00,001110
100,0001110010,1000——+0
100,00001110010,100——+0
100,000001110010,10
+11,101101+[-x]补
11,101110
111,1101110110010,1
+00,010011+[x]补
00,001010
011001
0
补码两位乘:
部分积乘数yn+1
000,00000000,1000110
+111,101101+[-x]补
111,101101
2111,1110110100,10001
+000,010011+[x]补
000,001110
2000,000011100100,100
+111,011010+[-2x]补
111,011101
2111,11011101100100,1
+000,010011+0
000,00101001100100
结果同补码一位乘,x·y=0.00011110001100(4)x=0.11011,y=-0.11101
x*=[x]原=[x]补=0.11011
[y]原=1.11101,y*=0.11101
[y]补=1.00011
[-x*]补=[-x]补=1.00101
2x*=[2x]补=01.10110
[-2x*]补=[-2x]补=10.01010
x0=0,y0=1,z0=x0
y0=0
1=1
x*×y*=0.1100001111
[x×y]原=1.1100001111
[x×y]补=1.00111100010
x·y=-0.1100001111
运算过程如下:原码一位乘:部分积乘数y*
0.00000.11101——+x*
+0.11011
0.11011
10.011011.1110——+0
10.0011011.111——+x*
+0.11011
1.00001
10.10000111.11——+x*
+0.11011
1.01011
10.101011111.1——+x*
+0.11011
1.10000
10.1100001111
原码两位乘:
部分积乘数y*Cj
000.000000.111010
+000.11011+x*
000.110110
2000.00110110.111
+111.00101+[-x*]补
111.010111
2111.110101111.01
+001.10110+2x*
001.100000
1000.11000011110.
+0
结果同一位乘,x·y=-0.1100001111补码一位乘:
部分积乘数[y]补yn+1
00.000001.000110
+11.00101+[-x]补
11.00101
111.1001011.00011——+0
111.11001011.0001
+00.11011+[x]补
00.10100
100.010100011.000——+0
100.0010100011.00——+0
100.00010100011.0
+11.00101+[-x]补
11.00111100010——清0补码两位乘:
部分积乘数yn+1
000.000001.000110
+111.00101+[-x]补
111.00101
2111.11001011.0001
+000.11011+[x]补
000.10100
2000.0010100011.00
+110.01010+[-2x]补
110.01111
1111.00111100010.
——清0
结果同补码一位乘,x·y=-0.1100001111021.用原码加减交替法和补码加减交替法计算x÷y。
(1)x=0.100111,y=0.101011;
(2)x=-0.10101,y=0.11011;
(3)x=0.10100,y=-0.10001;
(4)x=13/32,y=-27/32。
解:
(1)x*=[x]原=[x]补=x=0.100111
y*=[y]原=[y]补=y=0.101011
[-y*]补=[-y]补=1.010101
q0=x0y0=00=0
xy=x*y*=[xy]原=0.111010
r*=0.000010×2-6=0.000000000010
计算过程如下:原码加减交替除法:
被除数(余数)商
0.1001110.000000
+1.010101试减,+[-y*]补
1.111100
11.111000
0.
+0.101011r<0,+y*
0.100011
11.00011
0
0.1
+1.010101r>0,+[-y*]补
0.01101
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国普通带扣熔丝市场调查研究报告
- 2025年中国方管雨伞架数据监测报告
- 2025年中国数显电热培养箱数据监测研究报告
- 2025-2030年中国丙酸行业市场运营分析及投资前景预测研究报告
- 肇庆市实验中学高中生物一:生命活动的主要承担者-蛋白质习题课
- 肇庆市实验中学高中历史一:第七单元复杂多样的当今世界复习教案
- 部编版一年级下册语文《第六单元》知识点+测试卷及答案
- 2025-2030年中国led驱动市场发展现状及前景趋势研究报告
- 2025-2030年DNA测序公司技术改造及扩产项目可行性研究报告
- 2025至2031年中国等长双头螺柱行业投资前景及策略咨询研究报告
- 2023年华为H35-462(5G中级)认证考试复习题库(含答案)
- 循证护理个案
- T-CRHA 028-2023 成人住院患者静脉血栓栓塞症风险评估技术
- 冬季车辆安全驾驶培训课件
- 健康指南腰椎管狭窄如何诊断腰椎管狭窄
- 沐足楼面服务员礼貌礼节培训
- 远动设备故障处理措施
- 药浴婴幼儿计划书
- 静态热机械分析及动态热机械分析
- 《真空热处理炉》课件
- 医院检验科实验室生物安全管理手册
评论
0/150
提交评论