本文目录一览:
- 1、int几个字节
- 2、C语言中区分1和l
- 3、int范围值的大小是什么?
int几个字节
不同的编译器,占据的字节也不同,具体如下表所示:
编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。
这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节。
整数(int类型的常量)有几种书写形式,程序中的整数一般采用十进制写法。用十进制方式写出的一个整数就是普通数字字符组成的一个连续序列,其中不能有空格、换行或其他字符。C语言规定十进制表示的数字不能是0,除非要写的整数本身就是0。下面是一些整数的列子。
123 304 23278 1 0 906 。
由于长整数是另外一个不同类型的整数,所以C语言为长整数规定了一种专门写法,其特殊之处是在表示数值的数字序列最后附一个字母“L”或“l”作后缀。由于小写字母“l”容易与数字“1”混淆,建议读者采用大写的“L”,下面是一些长整数的例子。
123L 304L 25278L 1l 0L 906L。
C语言中区分1和l
某些书本 || 编译器上1和l 是一模一样的,一般在定义数据类型时会出现这样的问题;
for example:
int evil1,evil2;
//像这种出现 2 个 l 单词的,要和后面“evil2 对比一下,
显然第一个 l 是字母第二个 1 是 整数 1;
书本上有时候遇到陌生的单词,很难区分,建议查一下单词;
如果是代码中出现这样的问题,复制代码在txt文档中就可以区分了;
int范围值的大小是什么?
int的取值范围为: -2^31——2^31-1,即-2147483648——2147483647
1、对于正数来说,它的补码就是它本身。
2、对于负数来说,它的补码是它对应的正数的二进数所有位取反之后加一。
3、由负数的补码求原码也是相同的操作(所有位取反+1)即为该负数的绝对值int是4个字节,32位,10000000 00000000 00000000 00000000是补码,第一位为符号位,1表示负数;
所以对剩下的位取反,结果为 1111111 11111111 11111111 11111111,加一后为10000000 00000000 00000000 00000000。
4、所以原码指的是-2^31=-2147483648,int的取值范围为-2^31——2^31-1。
扩展资料:
int类型在内存中占用了4个字节,也就是32位。int类型是有符号的,因此,32位并不会全部用来存储数据,使用最高位来存储符号,最高位是0,提示数据是正数,最高位是1,表示数据是负数,使用其他的31位来存储数据。
由于长整数是另外一个不同类型的整数,所以C语言为长整数规定了一种专门写法,其特殊之处是在表示数值的数字序列最后附一个字母“L”或“l”作后缀。由于小写字母“l”容易与数字“1”混淆,建议读者采用大写的“L”,下面是一些长整数的例子。
参考资料来源:百度百科-INT
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/303054.html