实例概要
- char
- unsigned char
- short
- unsigned short
- int
- unsigned int
- long
- unsigned long
- long long
- unsigned long long
实例代码
#include <iostream>
int main(int argc, char** argv)
{
char c = 2;
unsigned char uc = 2u;
signed short s = 2;
unsigned short us = 2u;
signed int i = 2;
unsigned int ui = 2;
long l = 2L;
unsigned long ul = 2uL;
long long ll = 2LL;
unsigned long long ull = 2uLL;
std::cout << "signed char 型变量的字节数:" << sizeof(c) << std::endl;
std::cout << "unsigned char 型变量的字节数:" << sizeof(uc) << std::endl;
std::cout << "signed short 型变量的字节数:" << sizeof(s) << std::endl;
std::cout << "unsigned short 型变量的字节数:" << sizeof(us) << std::endl;
std::cout << "signed int 型变量的字节数:" << sizeof(i) << std::endl;
std::cout << "unsigned int 型变量的字节数:" << sizeof(ui) << std::endl;
std::cout << "signed long 型变量的字节数:" << sizeof(l) << std::endl;
std::cout << "unsigned long 型变量的字节数:" << sizeof(ul) << std::endl;
std::cout << "signed long long 型变量的字节数:" << sizeof(ll) << std::endl;
std::cout << "unsigned long long 型变量的字节数:" << sizeof(ull) << std::endl;
return 0;
}
运行结果
signed char 型变量的字节数:1
unsigned char 型变量的字节数:1
signed short 型变量的字节数:2
unsigned short 型变量的字节数:2
signed int 型变量的字节数:4
unsigned int 型变量的字节数:4
signed long 型变量的字节数:4
unsigned long 型变量的字节数:4
signed long long 型变量的字节数:8
unsigned long long 型变量的字节数:8
实例解释
整型变量
实例中列出了所有C++的整型变量,它们分别是:char
、short
、int
、long
、long long
。以及对应的无符号类型unsigned char
、unsigned short
、unsigned int
、unsigned long
、 unsigned long long
。他们之前的不同是字节数不同。C++标准并没有规定这些类型的字节数量是多少,只规定了他们至少要包含的字节数量:
类型 | 至少包含的字节数量 |
---|---|
char | 1 |
short | 2 |
int | 2 |
long | 4 |
long long | 8 |
在我的机器上int
和long
都是4个字节。
signed
如果类型不使用signed
修饰,默认就是有符号数。
数字后缀
在代码中如果直接写数字默认代表的是signed int
的值。如实例中2
代表的是4个字节的有符号整型值。如果向明确指定数字的类型可以在数字后面加上后缀u
或U
表示无符号数字。如2u
表示4个字节的无符号整型值。L
代表long
;LL
代表long long
。L
可以用小写,但是不推荐,因为小写的l
在某些字体中很容易跟数字1
混淆。