为什么二进制运算符操作unsgined int a取反后是负数,而操作unsgined char a 取反后是正数
int main(int argc, char* argv[])
{
unsigned int a; //unsigned char a;
a = 127;
a = (unsigned int/char)(~a);
//a += 129;
printf("%d", a);
return 0;
}
请教下:为什么二进制运算符操作unsgined int a取反后是负数,而操作unsgined char a 取反后是正数