关于浮点数范围的疑惑

xiaoxixing 2008-11-07 04:54:18
float类型的范围是(±3.4E+38)~(±1.4E-45)
为什么这里要加上正负号?
我的理解是直接(-3.4E+38)~(+1.4E-45)不就行了?
谢谢大家!
...全文
312 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
帅得不敢出门 2008-11-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jia_xiaoxin 的回复:]
引用楼主 xiaoxixing 的帖子:
float类型的范围是(±3.4E+38)~(±1.4E-45)
为什么这里要加上正负号?
我的理解是直接(-3.4E+38)~(+1.4E-45)不就行了?
谢谢大家!


直接(-3.4E+38)~(+1.4E-45)这样是错误的。

(±3.4E+38)~(±1.4E-45) 是
1.4E-45~3.4028235E+38以及-1.4E-45~- 3.4028235E+38的简写;
浮点书中的非负最小值不是零,只是趋向于零。
[/Quote]
嗯...
BaihowFF 2008-11-07
  • 打赏
  • 举报
回复
对...2楼说的正确...
但是也可以按楼主那样理解...不过一定要注意...浮点数是有精度问题的...比如判断是不是等于0应该如下:
const double precision=0.00001;
double m;
//....中间对m进行了处理
if ( (m>-precision) && (m<precision) )
//.....
else
//.....

winingsky 2008-11-07
  • 打赏
  • 举报
回复
可以象LZ那样理解!
winingsky 2008-11-07
  • 打赏
  • 举报
回复
可以象LZ那样理解!
hzc191025 2008-11-07
  • 打赏
  • 举报
回复
float除了0以外,有两个区间,就像楼上所说的那样,是趋向于零的
jia_xiaoxin 2008-11-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 xiaoxixing 的帖子:]
float类型的范围是(±3.4E+38)~(±1.4E-45)
为什么这里要加上正负号?
我的理解是直接(-3.4E+38)~(+1.4E-45)不就行了?
谢谢大家!
[/Quote]

直接(-3.4E+38)~(+1.4E-45)这样是错误的。

(±3.4E+38)~(±1.4E-45) 是
1.4E-45~3.4028235E+38以及-1.4E-45~- 3.4028235E+38的简写;
浮点书中的非负最小值不是零,只是趋向于零。
minorcxx 2008-11-07
  • 打赏
  • 举报
回复
也可以这样理解

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧