C语言double和int有什么区别?各个表示范围是多少?

如题所述

double是双精度实型数(小数),int为整型,整型[signed]int -2147483648~+2147483648,双精度double 1.7 x 10^(-308)~ 1.7 x 10^(+308) 。

1、int 有符号整数,根据系统(编译器)不同,有不同的范围,16bits系统(DOS系统):-(2^15)到(2^15-1),32bits系统:-(2^31)到(2^31-1),64bits:-(2^63)到(2^63-1)。如果是无符号整数unsigned int,那么16bits系统(DOS系统):0到(2^16-1),32bits:0到(2^32-1),64bits:0到(2^64-1)。

2、double为双精度浮点型,能准确到小数点后十二位,1.7 x 10^(-308)~ 1.7 x 10^(+308)。

3、因为所有的计算机语言,每个类型都向更精确的方向去自动转。比如说,int能自动转double型,但是倒过来就不行,必须强制转。

温馨提示:答案为网友推荐,仅供参考
相似回答