计算机中浮点数采用13位字长表示,其中阶符为1位,阶码为3位,数符为1位,数码为8位,求该浮点数的表示范围.
来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/29 07:25:58
计算机中浮点数采用13位字长表示,其中阶符为1位,阶码为3位,数符为1位,数码为8位,求该浮点数的表示范围.
、浮点数的表示
一个浮点数(Floating Point Number)由三个基本成分构成:符号(Sign)、阶码(Exponent)和尾数(Mantissa).
通常,可以用下面的格式来表示浮点数:S P M
其中S是符号位,P是阶码,M是尾数.
根据IEEE(美国电气和电子工程师学会)754标准中的定义,单精度(Single Precision)浮点数是32位(即4字节)的,双精度(Double Precision)浮点数是64位(即8字节)的.两者的S、P、M所占的位数以及表示方法由下表可知:S P M 表示公式 偏移量
单精度浮点数
1(第31位)
8(30到23位)
23(22到0位)
(-1)^S*2(P-127)*1.M
127
双精度浮点数
1(第63位)
11(62到52位)
52(51到0位)
(-1)^S*2(P-1023)*1.M
1023
其中S是符号位,只有0和1,分别表示正负.
P是阶码,通常使用移码表示(移码和补码只有符号位相反,其余都一样.对于正数而言,原码、反码和补码都一样;对于负数而言,补码就是其绝对值的原码全部取反,然后加1).阶码可以为正数,也可以为负数,为了处理负指数的情况,实际的指数值按要求需要加上一个偏差(Bias)值作为保存在指数域中的值,单精度数的偏差值为127,双精度数的偏差值为1023.例如,单精度的实际指数值0在指数域中将保存为127,而保存在指数域中的64则表示实际的指数值-63,偏差的引入使得对于单精度数,实际可以表达的指数值的范围就变成-127到128之间(包含两端).
M为尾数,其中单精度数为23位长,双精度数为52位长.IEEE标准要求浮点数必须是规范的.这意味着尾数的小数点左侧必须为1,因此在保存尾数的时候,可以省略小数点前面这个1,从而腾出一个二进制位来保存更多的尾数.这样实际上用23位长的尾数域表达了24位的尾数.例如对于单精度数而言,二进制的1001.101(对应于十进制的9.625)可以表达为1.001101 × 23,所以实际保存在尾数域中的值为00110100000000000000000,即去掉小数点左侧的1,并用0在右侧补齐.
根据标准要求,无法精确保存的值必须向最接近的可保存的值进行舍入,即不足一半则舍,一半以上(包括一半)则进.不过对于二进制浮点数而言,还多一条规矩,就是当需要舍入的值刚好是一半时,不是简单地进,而是在前后两个等距接近的可保存的值中,取其中最后一位有效数字为零者.
据以上分析,IEEE 754标准中定义浮点数的表示范围为:二进制(Binary)
十进制(Decimal)
单精度浮点数
± (2-2^-23) × 2127
± 10^38.53
双精度浮点数
± (2-2^-52) × 21023
± 10^308.25
浮点数的表示有一定的范围,超出范围时会产生溢出(Flow),一般称大于绝对值最大的数据为上溢(Overflow),小于绝对值最小的数据为下溢(Underflow).
二、浮点数的表示约定
单精度浮点数和双精度浮点数都是用IEEE 754标准定义的,其中有一些特殊约定,例如:
1、当P=0,M=0时,表示0.
2、当P=255,M=0时,表示无穷大,用符号位来确定是正无穷大还是负无穷大.
3、当P=255,M≠0时,表示NaN(Not a Number,不是一个数).
三、非规范浮点数
当两个绝对值极小的浮点数相减后,其差值的指数可能超出允许范围,最终只能近似为0.为了解决此类问题,IEEE标准中引入了非规范(Denormalized)浮点数,规定当浮点数的指数为允许的最小指数值时,尾数不必是规范化(Normalized)的.有了非规范浮点数,去掉了隐含的尾数位的制约,可以保存绝对值更小的浮点数.而且,由于不再受到隐含尾数域的制约,上述关于极小差值的问题也不存在了,因为所有可以保存的浮点数之间的差值同样可以保存.
根据IEEE 754标准中的定义,规范和非规范浮点数的表示范围可归纳为下表:规范浮点数
非规范浮点数
十进制近似范围
单精度浮点数
± 2^-149 至 (1-2^-23)*2^-126
± 2^-126 至 (2-2^-23)*2^127
± 10^-44.85 至 10^38.53
双精度浮点数
± 2^-1074 至 (1-2^-52)*2^-1022
± 2^-1022 至 (2-2^-52)*2^1023
± 10^-323.3 至 10^308.3
一个浮点数(Floating Point Number)由三个基本成分构成:符号(Sign)、阶码(Exponent)和尾数(Mantissa).
通常,可以用下面的格式来表示浮点数:S P M
其中S是符号位,P是阶码,M是尾数.
根据IEEE(美国电气和电子工程师学会)754标准中的定义,单精度(Single Precision)浮点数是32位(即4字节)的,双精度(Double Precision)浮点数是64位(即8字节)的.两者的S、P、M所占的位数以及表示方法由下表可知:S P M 表示公式 偏移量
单精度浮点数
1(第31位)
8(30到23位)
23(22到0位)
(-1)^S*2(P-127)*1.M
127
双精度浮点数
1(第63位)
11(62到52位)
52(51到0位)
(-1)^S*2(P-1023)*1.M
1023
其中S是符号位,只有0和1,分别表示正负.
P是阶码,通常使用移码表示(移码和补码只有符号位相反,其余都一样.对于正数而言,原码、反码和补码都一样;对于负数而言,补码就是其绝对值的原码全部取反,然后加1).阶码可以为正数,也可以为负数,为了处理负指数的情况,实际的指数值按要求需要加上一个偏差(Bias)值作为保存在指数域中的值,单精度数的偏差值为127,双精度数的偏差值为1023.例如,单精度的实际指数值0在指数域中将保存为127,而保存在指数域中的64则表示实际的指数值-63,偏差的引入使得对于单精度数,实际可以表达的指数值的范围就变成-127到128之间(包含两端).
M为尾数,其中单精度数为23位长,双精度数为52位长.IEEE标准要求浮点数必须是规范的.这意味着尾数的小数点左侧必须为1,因此在保存尾数的时候,可以省略小数点前面这个1,从而腾出一个二进制位来保存更多的尾数.这样实际上用23位长的尾数域表达了24位的尾数.例如对于单精度数而言,二进制的1001.101(对应于十进制的9.625)可以表达为1.001101 × 23,所以实际保存在尾数域中的值为00110100000000000000000,即去掉小数点左侧的1,并用0在右侧补齐.
根据标准要求,无法精确保存的值必须向最接近的可保存的值进行舍入,即不足一半则舍,一半以上(包括一半)则进.不过对于二进制浮点数而言,还多一条规矩,就是当需要舍入的值刚好是一半时,不是简单地进,而是在前后两个等距接近的可保存的值中,取其中最后一位有效数字为零者.
据以上分析,IEEE 754标准中定义浮点数的表示范围为:二进制(Binary)
十进制(Decimal)
单精度浮点数
± (2-2^-23) × 2127
± 10^38.53
双精度浮点数
± (2-2^-52) × 21023
± 10^308.25
浮点数的表示有一定的范围,超出范围时会产生溢出(Flow),一般称大于绝对值最大的数据为上溢(Overflow),小于绝对值最小的数据为下溢(Underflow).
二、浮点数的表示约定
单精度浮点数和双精度浮点数都是用IEEE 754标准定义的,其中有一些特殊约定,例如:
1、当P=0,M=0时,表示0.
2、当P=255,M=0时,表示无穷大,用符号位来确定是正无穷大还是负无穷大.
3、当P=255,M≠0时,表示NaN(Not a Number,不是一个数).
三、非规范浮点数
当两个绝对值极小的浮点数相减后,其差值的指数可能超出允许范围,最终只能近似为0.为了解决此类问题,IEEE标准中引入了非规范(Denormalized)浮点数,规定当浮点数的指数为允许的最小指数值时,尾数不必是规范化(Normalized)的.有了非规范浮点数,去掉了隐含的尾数位的制约,可以保存绝对值更小的浮点数.而且,由于不再受到隐含尾数域的制约,上述关于极小差值的问题也不存在了,因为所有可以保存的浮点数之间的差值同样可以保存.
根据IEEE 754标准中的定义,规范和非规范浮点数的表示范围可归纳为下表:规范浮点数
非规范浮点数
十进制近似范围
单精度浮点数
± 2^-149 至 (1-2^-23)*2^-126
± 2^-126 至 (2-2^-23)*2^127
± 10^-44.85 至 10^38.53
双精度浮点数
± 2^-1074 至 (1-2^-52)*2^-1022
± 2^-1022 至 (2-2^-52)*2^1023
± 10^-323.3 至 10^308.3
计算机中浮点数采用13位字长表示,其中阶符为1位,阶码为3位,数符为1位,数码为8位,求该浮点数的表示范围.
已知某计算机用16位二进制数表示浮点数,由最高位至最低位依次为阶符1位、阶码3位(补码表示)
设有一台16位浮点计算机,符号位为1位,尾数部分10位,阶码部分5位,则它的浮点数
16位浮点数,最高符号位,尾数8位定点小数,阶位7位,阶码最高为阶码符号位,问表示范围.
设某计算机用12位二进制数表示一浮点数,从高位到低位依次为阶符1位,阶码3位(补码表示),数符1位
假设浮点数的长度为32位,其阶码为10位,采用移码表示;尾数为22位,采用补码表示.
设某浮点数共12位.其中阶码含1位阶符共4位,以2为底,补码表示;尾数含1位数符共8位,补码表示.规格化,则该浮点数所能
32位浮点数格式中,符号位为1位,阶以码为8位,尾数为23位.则它所能表示的最大规格
浮点数计算有一个字长为32位的浮点数,符号位1位;阶码8位,用移码表示; 尾数23位,用补码表示;基数为2.(1) 最大
二进制浮点数的补码表示为:49AH,前4位为阶码,后8位为尾数,符号位均为1位,问真值十进制是多少?
真值为1的数,IEEE754标准下规格化的32位浮点数怎么表示?
有一32位浮点数的格式如下:00000000011010011000000000000000该数的十进制表示为?