C语言8-整数型数据类型
下面来介绍一下C语言中的整数数据类型
1 | char(字符型)---用于表示一个很小的整数,只占一个字节。 |
其中long需要特别注意,分享一个我自己踩的坑。
long在windows环境下(32位和64位)占4字节,在linux32环境中占4字节但是在linux64环境中占8字节。
插一句题外话苹果的Macos属于linux。
C语言并未规定数据类型的大小范围。
数据类型的大小范围交由编译器和平台来决定。
这时候我们就要用到sizeof关键词(用于测量实体占用字节大小)来进行测量。
给一段查询大小程序
1 | #include<stdio.h> |
占用字节越大,可表示的数就越大。
char(字符型)—只占一个字节。范围:(-128 +127)
short(短整型)—占两个字节。范围:(-32768 +32767)
int(整型)—占四个字节。范围:(-2147483648 +2147483647)
long(长整型)—占四个字节。范围:(-2147483648 +2147483647)
long long(加长整形)—占八个字节。范围:(-9223372036854775808 +9223372036854775807)
根据上图我们可以看见取值范围是2的二进制位数减1次方,为什么要减一呢?
因为二进制的最高位用来表示这个数的正负了。
如果我们不想二进制的最高位当做符号位就要用到unsigned关键字。
另外sizeof关键词不仅可以测试数据类型还可以测量变量和常量。
可以试一试下面的程序。
1 | #include<stdio.h> |
评论