C ++中的所有数字类型都可以带有符号或没有符号。例如,您可以声明一个int仅表示正整数。除非另有说明,否则所有整数数据类型均为有符号数据类型,即它们的值可以为正或负。unsigned关键字可用于声明没有符号的变量。
#include<iostream> using namespace std; int main() { unsigned int i = -1; int x = i; cout << i << ", " << x; return 0; }
输出结果
这将给出输出-
4294967295, -1
给出此输出是因为它通过将位表示中的全0更改为1s来溢出int,并打印int的最大值。这是因为现在int我没有任何标志。但是x有一个符号,因此它只有-1的值。