搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 计算机中浮点数的表示问题
标题:
计算机中浮点数的表示问题
只看楼主
xunxunmimi
等 级:
新手上路
帖 子:70
专家分:0
注 册:2006-12-12
结帖率:
100%
楼主
问题点数:0 回复次数:5
计算机中浮点数的表示问题
现给出以下三个问题,望高手解答。
1,浮点数在计算机中如何表示;
2,给出一个浮点数(float型):0X0376E979,能否写出它对应的十进制值;
3,给出五个浮点数(float型):-1, 1, 0, 1.5, -1.5,请写出其对应的十六进制码。
[[it] 本帖最后由 xunxunmimi 于 2008-5-14 15:13 编辑 [/it]]
搜索更多相关主题的帖子:
计算机
点数
2008-05-14 15:12
netsolo
等 级:
新手上路
帖 子:122
专家分:0
注 册:2008-3-6
第
2
楼
得分:0
我只知道 0X0376E979 = 0.0
同一个浮点数在内存中可能有不同的表示方法,float数 0x0DA24260 同样也为 0.0
你可以看下IEEE754标准
这是关于浮点数的文章: http://blog.
http://www.
这还有个浮点数转换的网页:http://www.
[[it] 本帖最后由 netsolo 于 2008-5-14 16:40 编辑 [/it]]
2008-05-14 16:23
flyue
来 自:江南西道
等 级:
贵宾
威 望:
19
帖 子:3465
专家分:1563
注 册:2006-6-20
第
3
楼
得分:0
你用printf可以显示出来:
float a = (float)0X0376E979;
printf("%f", a);
天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-14 17:00
xunxunmimi
等 级:
新手上路
帖 子:70
专家分:0
注 册:2006-12-12
第
4
楼
得分:0
谢谢!
第二个问题,我实际上是问:在内存中的存放形式为0X0376E979的浮点数所代表的数。如果将0X0376E979直接赋给一个float型的数,其在内存中的表示形式就不是0X0376E979了。昨天我误以为赋值后在内存中的形式就是0X0376E979,所以就那样提问了,今天才发现搞错了。
第三个问题,今天突然发现在VC编程环境中,将各个数分别赋值给float型变量,通过调试时的反汇编窗口可以看到各个数的十六进制表示。
第三个问题似乎解决了,第二个问题还需再查查资料。
2008-05-15 11:06
StarWing83
来 自:仙女座大星云
等 级:
贵宾
威 望:
19
帖 子:3951
专家分:748
注 册:2007-11-16
第
5
楼
得分:0
比如f是float变量,你这么写:
(int&)f=0X0376E979;
专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-15 11:49
c_acceleration
等 级:
新手上路
帖 子:101
专家分:0
注 册:2008-4-28
第
6
楼
得分:0
看信息编码
IEEE浮点标准:(-1)^s*M*2^E
(-1)^s符号位
M二进制小数
指数E是2的幂(可为负)
c语言:
因此划分三个域:(位)
单精度:符号位:1 指数域:8 小数域:23
双精度: 1 11 52
整数值:12345(0X3039) 单精度:12345.0(0x4640E400)
|0000|0000|0000|0000|0011|0000|0011|1001|
0|1000|1100|1 0000|0011|1001|0000000000
|| | |
1位 8位 23位
天道酬勤
2008-05-15 12:32
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-214270-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.349552 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved