一、常用的数据类型
- char:字符在计算机的存储器中以字符编码的形式保存,字符编码是一个数字,因此在计算机看来,A与数字65完全一样(65是A的ASCII码)。
- int:如果要保存一个整数,通常可以使用int。不同计算机中的int的大小不同,但至少应该有16位。一般而言,int可以保存几万以内的数字。
- short:它通常只有int的一半大小,所以如果只想保存一个几百、几千的数字,可以使用这个数据类型。
- long:一般大小是int的两倍,至少应该有32位,所以可以保存几十亿以内的数字;但大部分计算机的long和int一样大,因为在这些计算机中int本身就很大。
- float:它是保存浮点数的基本数据类型。
- double:如果想让计算结果精确到小数点以后很多位,可以使用double。double比float多占一倍的空间,可以保存更大,更精确的数字。
二、程序验证
#include<stdio.h> #include<limits.h> //还有表示整型大小的值 #include<float.h> //含有表示float和double类型大小的值 int main() { printf("The value of INT_MAX is %i ",INT_MAX); //int 型最大值 printf("The value of INT_MIN is %i ",INT_MIN); //int 型最小值 printf("An int takes %i bytes ",sizeof(int)); //int所占字节 printf("The value of FLT_MAX is %f ",FLT_MAX); //float printf("The value of FLT_MIN is %f ",FLT_MIN); printf("An float takes %i bytes ",sizeof(float)); printf("The value of CHAR_MAX is %i ",CHAR_MAX); //char printf("The value of CHAR_MIN is %i ",CHAR_MIN); printf("An char takes %i bytes ",sizeof(char)); printf("The value of DBL_MAX is %lf ",DBL_MAX); //double printf("The value of DBL_MIN is %lf ",DBL_MIN); printf("An double takes %i bytes ",sizeof(double)); printf("The value of SHRT_MAX is %i ",SHRT_MAX); //short printf("The value of SHRT_MIN is %i ",SHRT_MIN); printf("An short takes %i bytes ",sizeof(short)); return 0; }
三、思考
问题1:8位、64位到底是什么意思?
答:从技术上讲,计算机的位数有多种含义,它既可以代表CPU指令的长度,也可以代表CPU一次从存储器读取数据的大小。实际上,位数是计算机能够处理的数值长度。
问题2:那这和int、double的大小有什么关系?
答:如果一台计算机能处理32位的数值,就会把基本数据类型(例如int)的大小设为32位。