c语言中 long float 和double有什么区别 double,float,long它们有啥区别?

C\u8bed\u8a00\u4e2dlong float double\u6709\u4ec0\u4e48\u533a\u522b

long \u662flong int \u957f\u6574\u6570\uff0c\u8868\u793a\u7684\u8303\u56f4\u4e0d\u5c0f\u4e8eint
float\u662f\u6d6e\u70b9\u6570\uff0cdouble\u662f\u53cc\u7cbe\u5ea6\u6d6e\u70b9\u6570\uff0c\u8868\u793a\u7684\u8303\u56f4\u4e0d\u5c0f\u4e8efloat
\u4e00\u822c32\u7cfb\u7edf\u4e0b,long\u53604\u5b57\u8282\uff0cfloat\u53604\u5b57\u8282\uff0cdouble\u53608\u5b57\u8282\u3002

Java\u5728\u53d8\u91cf\u8d4b\u503c\u7684\u65f6\u5019\uff0c\u5176\u4e2dfloat\u3001double\u3001long\u6570\u636e\u7c7b\u578b\u53d8\u91cf\uff0c\u9700\u8981\u5728\u8d4b\u503c\u76f4\u63a5\u91cf\u540e\u9762\u5206\u522b\u6dfb\u52a0f\u6216F\u3001d\u6216D\u3001l\u6216L\u5c3e\u7f00\u6765\u8bf4\u660e\u3002
\u5176\u4e2d\uff0clong\u7c7b\u578b\u6700\u597d\u4ee5\u5927\u5199L\u6765\u6dfb\u52a0\u5c3e\u7f00\uff0c\u56e0\u4e3a\u5c0f\u5199l\u5bb9\u6613\u548c\u6570\u5b571\u6df7\u6dc6\u3002
\u4f8b\u5982\uff1a
long lNum = 1234L;
float fNum = 1.23f;
double dNum = 1.23d;

一、主体不同

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。

参考资料来源:百度百科-double

参考资料来源:百度百科-FLOAT

参考资料来源:百度百科-long



long float是以前的C语言(传统C语言)用的类型,与 double 同义,在老式的C语言编译器可能会允许该类型,但现在已经被 double 替换掉,C89标准就已经删除了该类型,因此在比较新的C编译器用这个类型时,编译可能会报错。不建议用这个类型,用 double 替换。

long只是整型。32位或者64位,标准里面没有规定。float是浮点,就是有小数的,double也是浮点,不过double的精确度比float高

大小、精度不同

扩展阅读:javascript入门 ... 学java ... 尹律所有电影 ... colonial 中文翻译 ... c语言long类型输入 ... 王若琳的《iloveyou》 ... printf long ... oneplus 9r ... go long 什么意思 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网