注册 登录
编程论坛 C++教室

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

xunxunmimi 发布于 2008-05-14 15:15, 637 次点击
现给出以下三个问题,望高手解答。

1,浮点数在计算机中如何表示;
2,给出一个浮点数(float型):0X0376E979,能否写出它对应的十进制值;
3,给出五个浮点数(float型):-1, 1, 0, 1.5, -1.5,请写出其对应的十六进制码。
2 回复
#2
dubaoshi2008-05-14 16:35
1、查了下资料,浮点数在计算机中的表示相对比较复杂,你参考一下这里吧,http://hi.baidu.com/_cpp/blog/item/d261c2fbb435f7156d22ebbb.html
讲得比较明了
2、16进制转10进制的那容易了,0X0376E979即58124665
3、如题目1所说的话,应该编写程序了,C++库中没有可直接调用的函数
#3
xunxunmimi2008-05-15 11:03
谢谢!
   第二个问题,我实际上是问:在内存中的存放形式为0X0376E979的浮点数所代表的数。如果将0X0376E979直接赋给一个float型的数,其在内存中的表示形式就不是0X0376E979了。昨天我误以为赋值后在内存中的形式就是0X0376E979,所以就那样提问了,今天才发现搞错了。
   第三个问题,今天突然发现在VC编程环境中,将各个数分别赋值给float型变量,通过调试时的反汇编窗口可以看到各个数的十六进制表示。
   第三个问题似乎解决了,第二个问题还需再查查资料。
1