以IEEE754短浮点数格式表示十进制数:-3.125 要求写出过程,并最终用十六进制缩写形式表示
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/16 03:30:26
以IEEE754短浮点数格式表示十进制数:-3.125 要求写出过程,并最终用十六进制缩写形式表示
单精度符点数的表示格式为:从高到低依次为1位符号位,8位指数位,23位小数位.
首先把浮点数按二进制形式表示(以下过程不要想得太复杂):
-3.125 = -11.001
首先把小数点往左移,直到小数点的左边只有一个“1”为止.该例中就是左移一位,变成-1.1001
因为小数位是23位,所以现在把小数点的右边“1001”往后被0,直到补够23位为止,也就是要补19个0,变成:10010000000000000000000
现在计算指数位.刚才说是小数点左移,直到左边只有一个“1”为止.但是如果浮点数本身是小于1的,比如0.125用二进制表示是0.001,此时应该右移3位才对.这种情况下把“右移3位”看成是“左移-3位”,指数位的计算方法就是用127加上左移的位数.该例中因为左移了一位,所以指数位是128.注意,原先小数点左边的还剩下一个“1”是没用的,指数位就是127加上左移位数.用二进制表示,指数位是1000000.
因为-3.125是个负数,所以符号位为1.因此,-3.125的二进制形式是:
1 10000000 10010000000000000000000
写成十六进制是:c0480000
在程序里验证下:
float f = -3.125f;
int a = (int&)f;
cout
首先把浮点数按二进制形式表示(以下过程不要想得太复杂):
-3.125 = -11.001
首先把小数点往左移,直到小数点的左边只有一个“1”为止.该例中就是左移一位,变成-1.1001
因为小数位是23位,所以现在把小数点的右边“1001”往后被0,直到补够23位为止,也就是要补19个0,变成:10010000000000000000000
现在计算指数位.刚才说是小数点左移,直到左边只有一个“1”为止.但是如果浮点数本身是小于1的,比如0.125用二进制表示是0.001,此时应该右移3位才对.这种情况下把“右移3位”看成是“左移-3位”,指数位的计算方法就是用127加上左移的位数.该例中因为左移了一位,所以指数位是128.注意,原先小数点左边的还剩下一个“1”是没用的,指数位就是127加上左移位数.用二进制表示,指数位是1000000.
因为-3.125是个负数,所以符号位为1.因此,-3.125的二进制形式是:
1 10000000 10010000000000000000000
写成十六进制是:c0480000
在程序里验证下:
float f = -3.125f;
int a = (int&)f;
cout
以IEEE754短浮点数格式表示十进制数:-3.125 要求写出过程,并最终用十六进制缩写形式表示
用浮点格式表示十进制数123.625
有一个IEEE754标准的单精度浮点数的十六进制表示为0x41390000,求该浮点数的十进制值
十进制数转换为IEEE754单精度浮点数格式
若采用IEEE754标准的32位短浮点数格式十进制数100.5写成浮点数
-5用IEEE754单精度浮点数表示
十六进制数D用十进制数表示
按照IEEE754标准 32位浮点数标准格式中的尾数符号位表示什么?
写出二进制数+0.0011011的浮点的表示形式和在计算机中的表示格式.
计算题:若浮点数x的IEEE754标准存储格式为(41700000)16,求其浮点数的十进制数值
用十六进制数表示十进制数从(0到25).
有一32位浮点数的格式如下:00000000011010011000000000000000该数的十进制表示为?