RAH*_*GRA 1 c++ gcc range char
我使用 gcc 作为我的 c++ 编译器,当我声明 int 数据类型的变量时,默认情况下它将被视为有符号。但在 char 的情况下,它被视为无符号。这是为什么 ?因为在 xcode IDE 中 char 默认被视为有符号。
#include<iostream>
using namespace std;
int main() {
system("clear");
int x;
char y;
cout<<INT_MIN<<" "<<INT_MAX<<endl;
cout<<CHAR_MIN<<" "<<CHAR_MAX<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
-2147483648 2147483647
0 255
Run Code Online (Sandbox Code Playgroud)
char是您系统上的无符号类型,因为实现您系统的人选择它应该是无符号的。此选择因系统而异,C++ 语言指定允许其中任何一个。如果您希望编写跨不同系统运行的程序,则不能假设一种选择。
请注意char, 、signed char和unsigned char都是三种不同的类型,无论char是否有符号。相比之下,int和signed int是同一类型的两个名称。