通常,当我们需要用到数字时,我们会使用原始的数据类型
C 数字通常当我们需要用到数字时我们会使用原始的数据类型如 int、short、long、float 和 double 等等。这些用于数字的数据类型其可能的值和数值范围我们已经在 C 数据类型一章中讨论过。#includeiostream/* run this program using the console pauser or add your own getch, system(pause) or input loop */usingnamespacestd;intmax(intx,inty){intz;zxy?x:y;return(z);}intmain(intargc,char**argv){inta,b,c;coutplease enter two integer numbers:;cinab;cmax(a,b);coutmaxcendl;return0;}在C中用于表示数字的原始数据类型如int、short、long、float、double等的取值范围和特性如下一、整型整数类型整型用于表示整数采用补码形式存储最高位为符号位1表示负数0表示非负数且字节数和取值范围会因机器和编译系统略有差异以下以常见的32位机器为例short短整型字节数2字节16位。取值范围(-2^{15} \sim 2^{15} - 1)即(-32768 \sim 32767)。int整型字节数4字节32位。取值范围(-2^{31} \sim 2^{31} - 1)即(-2147483648 \sim 2147483647)。long长整型在32位机器上字节数为4字节32位取值范围同int(-2^{31} \sim 2^{31} - 1)但在64位机器上部分编译系统中long可能占8字节64位取值范围变为(-2^{63} \sim 2^{63} - 1) 。无符号整型如unsigned short、unsigned int、unsigned long只表示非负数包括0字节数与对应的有符号整型相同但取值范围的下限为0上限扩大unsigned short取值范围(0 \sim 2^{16} - 1)即(0 \sim 65535)。unsigned int取值范围(0 \sim 2^{32} - 1)即(0 \sim 4294967295)。unsigned long在32位机器上取值范围同unsigned int64位机器上若long占8字节则取值范围为(0 \sim 2^{64} - 1) 。long long长长整型C11及以后支持字节数8字节64位。取值范围(-2^{63} \sim 2^{63} - 1)无符号版本unsigned long long的取值范围为(0 \sim 2^{64} - 1) 。二、浮点型实数类型浮点型用于表示带小数的实数小数点位置不固定可浮动能表示的数值范围远大于整型但有效数字位数固定精度有限float单精度浮点型字节数4字节32位。取值范围约(-3.4 \times 10^{38} \sim 3.4 \times 10^{38})不同编译系统可能略有差异有效数字位数约为7位。double双精度浮点型字节数8字节64位。取值范围约(-1.7 \times 10^{308} \sim 1.7 \times 10^{308})有效数字位数约为15 - 17位。long double长双精度浮点型字节数通常为8字节部分系统为10字节或16字节取值范围与double类似或更大如某些系统中可达(-3.4 \times 10^{4932} \sim 3.4 \times 10^{4932})有效数字位数也更高。三、字符型char字符型本质上也属于整型因为字符在计算机中以ASCII码的整数形式存储字节数1字节8位。有符号char默认的取值范围(-128 \sim 127)无符号char的取值范围(0 \sim 255) 。四、布尔型bool字节数通常为1字节。取值范围仅包含true真在内存中通常以1表示和false假在内存中通常以0表示。总结整型适合表示整数取值范围随字节数增加而扩大无符号整型可表示更大的非负整数。浮点型适合表示带小数的实数double的范围和精度都优于floatlong double则进一步提升精度或范围依系统而定。若数据超出当前类型的取值范围会发生溢出整型溢出可能导致数值“绕回”或错误浮点型溢出可能得到inf或nan此时需根据需求选择更大范围的类型如用long long代替int用double代替float或使用自定义大整数类等。不同编译系统如VC、GCC对数据类型的字节数和取值范围的实现可能略有差异需根据实际环境选择合适的类型。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2412435.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!