浮点数的表示形式以2为底X=S2j2基数S尾.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:21 大小:1MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

浮点数的表示形式以2为底X=S2j2基数S尾.ppt

浮点数的表示形式以2为底X=S2j2基数S尾.ppt

预览

免费试读已结束,剩余 11 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

当浮点数尾数为0时,不论其阶码为何值按机器零处理。00000000例、将+写成二进制定点数、浮点数及在定点机和浮点机中的机器数形式。其中数值部分均取10位,数符取1位,浮点数阶码取5位(含1位阶符)。原码规格化后,尾数最高一位一定是1。正数为:0.1XXX….XXX的形式负数为:1.1XXX….XXX的形式补码规格化后,尾数最高一位一定与符号位相反。正数为:0.1XXX….XXX的形式负数为:1.0XXX….XXX的形式6-12、设浮点数格式为:阶符1位、阶码4位、数符1位、尾数10位。写出51/128、27/1024、7.375、-86.5所对应的机器数。要求(1)阶码和尾数均为原码;(2)阶码和尾数均为补码;(3)阶码为移码,尾数为补码。解:据题意画出该浮点数的格式:14110(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浮点数的规格化形式6-13、浮点数格式同上题,当阶码基值分别取2和16时,(1)说明2和16在浮点数中如何表示。(2)基值不同对浮点数什么有影响?(3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情况下所能表示的最大正数和非零最小正数真值。例:设机器数字长为24位,欲表示±3万的十进制数,试问在保证数的最大精度的前提下,除阶符、数符各取1位外,阶码、尾数各取几位?6-14、设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?解:若要保证数的最大精度,取基=2。若要表示±6万间的十进制数,由于32768(215)<6万<65536(216),则:阶码的范围+-16(向上取2的幂),阶码取5位。故:尾数位数=32–1–1–5=25位按此格式,该浮点数上溢的条件为:阶码>+11111该浮点数格式如下:151256-15、什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式?解:机器零指机器数所表示的零的形式。它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零”;而真零对应数轴上的一点(0点)。若要求用“全0”表示浮点机器零,则阶码应用移码、尾数用补码表示P225(此时阶码为最小阶、尾数为零,而移码的最小码值正好为全“0”,补码的零的形式也为“0”,拼起来正好为一串0的形式)。6-18、试比较逻辑移位和算术移位。解:逻辑移位和算术移位的区别:逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,不考虑符号位。算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负移位方向、采用的码制等有关。补码、反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。16-17、设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。算术左移两位:[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,产生误差[y1]补=0.0101010;正确[y2]补=1.1110100;正确[y3]补=1.1001100;丢1,产生误差[z1]反=1.1010111;正确[z2]反=1.1110100;丢0,产生误差[z3]反=1.1001100;正确算术右移两位:[x1]原=0.0000110(10);产生误差[x2]原=1.0011010