一、字面量
字面量是指C/C++源代码中直接使用的常量,字面量的意思是“一眼看上去是什么就是什么”。例如语句 int x = 10; 中10就是字面量,它相对于变量,只有一个确定的值不能改变,这个值就是它看上去的值。
C/C++中的字面量有一下几种:
1.0和正整数,如10、123等(负整数不是字面量,因为加了-运算符)
2.浮点数,如1.23
3.单个字符,如’a’、‘c’
4.多个字符,如’abc’、‘abcd’(至少一个字符、至多四个字符)
5.字符串,如"abcdefg"(可以是空串"")
将字面量解释成何种类型的值使用编译器决定的,通常也决定了这个值如何转化为二进制串存储到计算机中。
二、整数
C/C++中,整数类型有以下几种:
1.char
2.short
3.int
4.long
5.long long
类型决定了计算机将用用多少二进制位表示这个整数值也就是这个值的数据宽度。在64位的机器中,上述整数类型所用的存储宽度通常是1字节、2字节、4字节、4字节、8字节。
整数可以分为0、正数和负数,我们写出一个整数字面量时如10,这个整数字面量被认为是何种整数类型,也就是用多少二进制位表示是由编译器决定的。
0和正整数:
字面量0,被编译器认为是 int 类型,也就是说0被表示成4个字节的二进制串:0000 0000 0000 0000 0000