unsigned char 和 signed char 区别
在C/C++中char型等价于整型数据,占一个字节,8个比特位。在语言中默认的就是signed char ,其范围
对应整数-128~+127,而unsigned char代表的是无符号的字符型,对应的整数范围为0~255.
例如:
#include<iostream>
using namespace std;
int main()
{
char ch='a';
cout<<(int)ch<<endl;
return 0;
}
输出的就是97,即小写字母a,对应的十进制数为97,A对应为65。
扩展资料
C++中,有3种不同的字符类型:
char
signed char
unsigned char
如果用于文本,则使用未加限定的char, 类似于 'a', '0', 'abcde' 等。它也可以是一个值,但是是当做无符号还是有符号数没有指定。
如果将字符类型用作数字,那么:
signed char, 范围至少为 [-127 ~ 127] 。 (一般范围是 -128 到 127)
unsigned char, 范围至少为 [0 ~ 255]。
说“至少”是因为C++标准只指定了对应每一种数据类型值的最小覆盖范围。
如果真的要表示小的整数的话,最好使用 int8_t 和 uint8_t 。