【c语言】数据类型--整型

207 阅读2分钟

在c语言中,有这么几种基本数据类型:整型,字符型,浮点型。这篇文章主要讲的是整型变量。

整型变量的大小

那么如何定义一个整型变量呢?

image.png

可以使用关键字 int + 变量名 来定义,也可以直接给变量进行赋值

那如何来深入理解呢?我们也可以将它理解为定义了一块内存,这块内存是有大小的,通常为4个字节,在计算机中体现为32位二进制来存储

整型变量的取值范围

32位二进制是由1个符号位+31个数据位组成,第一个数字代表符号,0代表正,1代表负。

那么最大的数字就是 0 + 31个 1 组成:0111...1111 (也就是2^31-1) 最小的数字就是 -2^31,所以int的取值范围是[-2^31,2^31-1]

特殊的整型变量

但是在我们实际应用中,我们可能用不到这么大的数字,比如我们想定义一个年龄的整型变量,可能只有两位数字,为了节省内存,通常会定义短整型变量:short int

short int 的大小在不同平台不尽相同,通常为2个字节,取值范围是[-2^15,2^15-1]

同样地,有短就有长,还有long int,以及long long int,在不同平台也都不一样,通常为4个字节8个字节,取值范围是[-2^31,2^31-1]和[-2^62,2^62-1]

正如刚才说的年龄或是分数这些变量一般都是正数,所以可以用 unsigned 来修饰,这样会使正数的取值范围增大一倍,例如 unsigned int的取值范围变成[0,2^32-1],当然也可以和其他的特殊整型变量搭配使用:

image.png

在给这些变量赋值的时候最好在后面写个后缀,short没有s后缀

image.png

如有不足,欢迎指正!