| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 472 人关注过本帖
标题:关于浮点数问题
只看楼主 加入收藏
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
结帖率:70%
收藏
 问题点数:0 回复次数:2 
关于浮点数问题
浮点数中,浮点数的尾数占用23位,这个位是指有23个小数尾数还是占用23个内存最基本的单位,关键字 float 的数值范围是±3.4E±38    这个数值是什么意思? 单精度浮点数是什么意思? 一般在浮点数中提到的位 都是指 内存的最小单位吗?
搜索更多相关主题的帖子: 关键字 
2015-06-24 23:27
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 

自己动手写段小代码什么都清楚了

#include<stdio.h>
#include<float.h>
int main(void)
{
    printf("float=%u\n",sizeof(float));
    printf("float_最大=%f  float_最小=%f\n",FLT_MAX,FLT_MIN);
    printf("float_最大=%e  float_最小=%e\n",FLT_MAX,FLT_MIN);
    printf("double=%u\n",sizeof(double));
    printf("double_最大=%lf \ndouble_最小=%lf\n",DBL_MAX,DBL_MIN);
    printf("double_最大=%e  double_最小=%e\n",DBL_MAX,DBL_MIN);
   
    return 0;
}
看我64位编译器单精度和双精度的类型大小
图片附件: 游客没有浏览图片的权限,请 登录注册



2015-06-25 01:05
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
浮点数中,浮点数的尾数占用23位,这个位是指有23个小数尾数还是占用23个内存最基本的单位,关键字 float 的数值范围是±3.4E±38    这个数值是什么意思? 单精度浮点数是什么意思? 一般在浮点数中提到的位 都是指 内存的最小单位吗?

浮点数格式有好多标准,比如常见的 IEEE754。
IEEE754 中有几种浮点数,比如 单精度的float。
float占4bytes,也就是32bits,其中有23bits用来表示尾数。
你用过十进制形式科学计数法吗,比如 9.67*10^34 ?
二进制形式的科学计数法 就形如 1.01100101*2^01001。
因为前面的“1.”是固定的,所以可以省略掉不存储,01100101就是尾数。

“±3.4E±38” --- 没好好上C语言课吧,+3.4E+38 就是科学计数法 +3.4 * 10^38。
2015-06-25 09:27
快速回复:关于浮点数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027484 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved