Cplusplus 简明教程
C++ Modifier Types
C++ 允许 char, int, * and *double 数据类型在其前面有修饰符。修饰符用于更改基类型的含义,使其更精确地适应各种情况的需求。
数据类型修饰符在此列出 -
-
signed
-
unsigned
-
long
-
short
修饰符 signed, unsigned, long, 和 short 可以应用于整数基类型。此外, signed 和 unsigned 可以应用于 char,并且 long 可以应用于 double。
修饰符 signed 和 unsigned 也可以用作 long 或 short 修饰符的前缀。例如, unsigned long int 。
C++ 允许使用一种简写表示法来声明 unsigned, short, 或 long 整数。您只需使用单词 unsigned, short, 或 long, ,而无需 int 。它会自动暗示 int 。例如,以下两个语句都声明无符号整数变量。
unsigned x;
unsigned int y;
要理解有符号和无符号整数修饰符在 C++ 中的解析方式之间的差异,您应该运行以下简短程序 -
#include <iostream>
using namespace std;
/* This program shows the difference between
* signed and unsigned integers.
*/
int main() {
short int i; // a signed short integer
short unsigned int j; // an unsigned short integer
j = 50000;
i = j;
cout << i << " " << j;
return 0;
}
当运行此程序时,以下为输出 -
-15536 50000
以上结果是因为表示短无符号整数 50,000 的位模式被短整数解析为 -15,536。