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

2022-04-11 教育 123阅读

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

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

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

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

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com