发布时间:2022年04月15日 04:33:30分享人:堇年纸鸢来源:互联网23
float变量的精度到底是什么?
一个浮点数在内存中存放的方法:
1、先把这个数转化成二进制数
例如
327654444 = 10011100001111001110000101100
2、在此基础上,把它写成科学计数的形式
327654444 = 1.0011100001111001110000101100e+00011100
3、截取小数点后23位,后面保留为0,得到:
1.0011100001111001110000100000e+00011100
把小数点后的bit(23个)存在尾数位区,把指数(00011100共8位)存在指数位区;由于是正数,符号位置0。这样,就完成了存放。
因此,在C程序中,以下在吗输出的结果将是 327654432.000000
int main(int argc, char *argv[])
{
float a = 327654444;
printf("a = %fn",a);
return 0;
}
由此看出,float类型的精度,从二进制科学计数的角度来讲,就是1/2^23。这表 示了float类型可表示数值(在科学计数法表示中)的最小步进(基本单元)。
另:float所占的4个字节的分配如图:
1bit(符号位) | 8bits(指数位) | 23bits(尾数位) |
参考:
http://www.cnblogs.com/tekson/archive/2009/07/16/1524604.html
http://www.fmddlmyy.cn/text60.html
爱华网本文地址 » http://www.413yy.cn/a/25101015/258722.html
更多阅读
基本数据类型C语言中只有4中基本数据类型——整型、浮点型、指针和聚合类型(如数组和结构等);所有其他类型都是从这4种基本类型的某种变化或组合派生而来。一、整型家族整型家族包括char、shortint、int和longint,并且都分为signed和
1,在Win7里移动库位置稍微麻烦一些,在其它分区(比如D盘)新建四个文件夹,分别命名为“我的文档”、“我的音乐”、“我的图片”、“我的视频”。打开库,选中并右击其中的“我的文档”,在弹出的快捷菜单里点击“属性”,在弹出的“文档属性”窗
下载 源代码用ADO做数据库,有个麻烦的事情就是_variant_t变量的使用,使用本例中封装的CConvert类转换就方便了。[cpp]view plaincopy
工作也有些年头了,从一位技术新人成长到现在自诩小牛级别的人物,少不了要自己寻找资料阅读。论坛上、书店里、杂志上......要嘛是些菜鸟浅薄的自炫处女贴,要嘛是高屋建瓴云里来雾里去的概念文,好不容易遇到个实践型高手写的文章,却在渐入
为了定时监控Linux系统CPU、内存、负载的使用情况,写了个Shell脚本,当达到一定值得时候,发送邮件通知。需要用到Crontab的定时任务去执行这个脚本,但是发现通过命令(./test.sh)执行Shell文件的时候,可以获取Linux的环境变量;可是通过Cront