c语言double和float的区别
㈠ c语言中 double和float 的区别
单精度浮点数在机内占4个字节,用32位二进制描述。
双精度浮点数在机内占8个字节,用64位二进制描述。
对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)
还有
double类型存储机制问题,64位是这样存储的:
1位符号位,11位指数位,52位尾数位。
因此,
(1)将2.2转换成二进制为10.00110011...
(2)将10.00110011...转换成指数形式为1.000110011...*2^1;
(3)开始正式转换,符号位为0,表示为正;
(4)指数位为000,0000,0001,表明指数为2^1;
(5)尾数位为0001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1,最后一位1是第53位;
(6)显然,最后是要进上去的。
因此,2.2f转换成2.2d是变大的。
㈡ c语言中double和float的区别
两个类型来的精度不同。
double精度高自,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,在不确定的情况下还是尽量用double以保持正确性.
㈢ C语言中float和double各代表什么含义,有什么区别
都属于浮点数 也就是小数
但精度不同 可以取值的范围double要比float大
所占内存位数也不同
32位机来版讲
float 占 4字节权 double 占8字节
随便啦 一般的精度 float够用了 不过大部分情况都声明为double
主要是因为常小数值 系统识别为double 这样在计算时 免去类型转化
减小错误
㈣ C语言中float和double到底是什么意思,有什么区别,求解
是两种数据类型,float是单精度浮点型,能得到六位有效数字;double是双精度浮点型,可以得到十五位有效数字,而且取值范围比float的大的多
㈤ c语言中的float和double类型有什么区别什么叫做单精度和双精度
c语言中 单精度型和双精度型 指两种 类型 的 浮点数。
单精度型 即 float 型, 有效数字约10进制7位
双精度型 即 double 型, 有效数字约10进制15位
所以能描述的数值精度不同。
c语言 数据 用 IEEE 754 国际标准。float 型 用 4 字节存放,double 型 用 8 字节存放。
Single Precision 2进制: 数符1位,指数8 位,尾数 23 位
Double Precision 2进制: 数符1位,指数11 位,尾数 52 位
单精数值范围: ± ~10的-44.85次方 到 约 10的38.53次方
双精度数值范围 ± ~10的-323.3 次方 to 约 10的 308.3次方。
float a=1.234567;
double b=1.2345678901234;
-------------
10%3 整除取余数,得 1。
1 用 float 和 double 表示,精度没有区别。 a=(float)(10%3); b=(double)(10%3);
强制转换 要带 小括号。
㈥ 请问c语言中的float和double类型有什么区别什么叫做单精度和双精度
c语言中 单精度型和双精度型 指两种 类型 的 浮点数。
单精度型 即 float 型, 有效专数字约10进制属7位
双精度型 即 double 型, 有效数字约10进制15位
所以能描述的数值精度不同。
c语言 数据 用 IEEE 754 国际标准。float 型 用 4 字节存放,double 型 用 8 字节存放。
Single Precision 2进制: 数符1位,指数8 位,尾数 23 位
Double Precision 2进制: 数符1位,指数11 位,尾数 52 位
单精数值范围: ± ~10的-44.85次方 到 约 10的38.53次方
双精度数值范围 ± ~10的-323.3 次方 to 约 10的 308.3次方。
float a=1.234567;
double b=1.2345678901234;
-------------
10%3 整除取余数,得 1。
1 用 float 和 double 表示,精度没有区别。 a=(float)(10%3); b=(double)(10%3);
强制转换 要带 小括号。
㈦ C语言中的double和float
double与float的区别在于在内存中存放数据时占用的内存不一样,前者8字节内,后者4字节,也就是前者保容存的小数位数比后者多一倍。举例说明对于1.9999996666,按照float输出,结果可能为1.999999,如果按照double可能为1.999999,这是为什么,因为C语言默认输出小数位数都取6位,这时候看起来没有区别,但是如果你进行格式控制,比如使用%.10,即小数保留10位,float输出结果为1.9999990000,而double输出结果则为1.9999996666。
㈧ c语言float和double的区别
这两个不是函数,是数据类型.float是单精度实型,用4个字节存储
double是双精度实型,用专8个字节存储。在属进行程序运算时,float型数据一律转换为double型数据,为自动类型转换。所以结果一样。但float,double两种类型数据精度不同,float型有效数字位数为6~7位,double为15~16位,二者有区别
㈨ c语言中 long float 和double有什么区别
一、主体不同
1、long:表示一种长整型数据。
2、float:浮点型数据类型
3、double:双精度专浮点数据型。属
二、类型不同
1、long:默认为有符号长整型,含4个字节。
2、float:用于存储单精度浮点数或双精度浮点数。
3、double:表示十进制的15或16位有效数字。
三、取值范围不同
1、long:取值范围为:-2^31 ~ (2^31 -1)。
2、float:float 类型提供了一个在 -3.4E+38 ~ 3.4E+38 之间的范围。
3、double:负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308。
㈩ c语言中的double 和float有什么区别
double的位数是float的2倍,float 16位, double 32位,都是浮点小数,所以double所能表示的数字范围就大得多