c语言单精度和双精度的区别

玛丽莲梦兔
688次浏览
2020年08月17日 22:54
最佳经验
本文由作者推荐

福建新华都-我是歌手台湾评论


c语言单精度和双精度的区别
c语言单精度和双精度的区别单精度是这样的格式,1位符号,8位指数,23
位小数。

双精度是1位符号,11位指数,52位小数。

区别就是它所能存储的数值范围大小不同,
双精度变量能存储比单精度变量更大或更小的值。
-- -- float 能赋值 +- 3.40282e+038
-- -- double能赋值 +- 1.79769e+308
含义:表明单精度和双精度精确的范围不一样 ,单精度,也即float,一般在计算机中存储
占用4字节,也32位,有效位数为7位;双精度(d ouble)在计算机中存储占用8字节,
64位,有效位数为16位。
原因:不管float还是double 在计算机上的存储都遵循IEEE规范,使用二进制科学计数
法,都包含三个部分:符号位,指数位和尾数部分。其中float的符号位,指数位,尾数
部 分分别为1, 8, 23. 双精度分别为1, 11, 52。
精度主要取决于尾数部分的位数, float为23位,除去全部为0的情况以外,最小为2的
-23次方,约等于1.19乘以10的- 7次方,所以float小数部分只能精确到后面6位,加上
小数点前的一位,即有效数字为7位。 类似,double 尾数部分52位,最小为2的-52次
方,约为2.22乘以10的-16次方, 所以精确到小数点后15位,有效位数为16位。
单精度和双精度数值类型最早出现在C语言中(比较 通用的语言里面),在C语言中单精
度类型称为浮点类型(Float),顾名思义是通过浮动小数点来 实现数据的存储。这两个数
据类型最早是为了科学计算而产生的,他能够给科学计算提供足够高的精度来 存储对于精
度要求比较高的数值。但是与此同时,他也完全符合科学计算中对于数值的观念:
当我们比较两个棍子的长度的时候,一种方法是并排放着比较一下,一种方法是分别量出

感动的作文400字-星星雨


周其凤-广东工业大学招生网


创业策划书怎么写-居委会职责


交通安全顺口溜-2013浙江高考英语


河北省高考改革-节目主持词


坐飞机能带化妆品吗-小年祝福短信


肖像描写-个人工作总结


让子弹飞语录-庆六一手抄报