c语言中的float和double类型的区别是什么?单精度和双精度是什么?

如题所述

第1个回答  2022-11-16
c语言中 单精度型和双精度型 指两种 类型 的 浮点数。\x0d\x0a单精度型 即 float 型, 有效数字约10进制7位\x0d\x0a双精度型 即 double 型, 有效数字约10进制15位\x0d\x0a所以能描述的数值精度不同。\x0d\x0ac语言 数据 用 IEEE 754 国际标准。float 型 用 4 字节存放,double 型 用 8 字节存放。\x0d\x0aSingle Precision 2进制: 数符1位,指数8 位,尾数 23 位 \x0d\x0aDouble Precision 2进制: 数符1位,指数11 位,尾数 52 位\x0d\x0a单精数值范围: ± ~10的-44.85次方 到 约 10的38.53次方\x0d\x0a双精度数值范围 ± ~10的-323.3 次方 to 约 10的 308.3次方。\x0d\x0afloat a=1.234567;\x0d\x0adouble b=1.2345678901234;\x0d\x0a-------------\x0d\x0a10%3 整除取余数,得 1。\x0d\x0a1 用 float 和 double 表示,精度没有区别。 a=(float)(10%3); b=(double)(10%3);\x0d\x0a强制转换 要带 小括号。
相似回答