xunxunmimi 发表于 2008-5-14 15:15

计算机中的浮点数表示问题

现给出以下三个问题,望高手解答。

1,浮点数在计算机中如何表示;
2,给出一个浮点数(float型):0X0376E979,能否写出它对应的十进制值;
3,给出五个浮点数(float型):-1, 1, 0, 1.5, -1.5,请写出其对应的十六进制码。

dubaoshi 发表于 2008-5-14 16:35

1、查了下资料,浮点数在计算机中的表示相对比较复杂,你参考一下这里吧,http://hi.baidu.com/_cpp/blog/item/d261c2fbb435f7156d22ebbb.html
讲得比较明了
2、16进制转10进制的那容易了,0X0376E979即58124665
3、如题目1所说的话,应该编写程序了,C++库中没有可直接调用的函数

xunxunmimi 发表于 2008-5-15 11:03

谢谢!
   第二个问题,我实际上是问:在内存中的存放形式为0X0376E979的浮点数所代表的数。如果将0X0376E979直接赋给一个float型的数,其在内存中的表示形式就不是0X0376E979了。昨天我误以为赋值后在内存中的形式就是0X0376E979,所以就那样提问了,今天才发现搞错了。
   第三个问题,今天突然发现在VC编程环境中,将各个数分别赋值给float型变量,通过调试时的反汇编窗口可以看到各个数的十六进制表示。
   第三个问题似乎解决了,第二个问题还需再查查资料。

页: [1]

编程论坛