数据类型:
整形 char short int long int long long
字节数 1 2 4 4 8
float double long double
4 8 8 /12/16
bool
1
(void)
char a;// 1000 0000 -128 (有符号)
unsigned char b;//1000 0000 128 (无符号)
int main() //计算机以补码显示
{
char a = 5;// 0000 0101
char b= -5;// 1000 0101(原码)
// 1111 1010(反码)
// 1111 1011(补码)
return 0;
}
int main()
{
char c = 128;
unsigned char uc = 128;
unsigned short us = 0;
us = c + uc;
//c = 1000 0000 // 1111 1111 1000 0000
//uc= 1000 0000 // 0000 0000 1000 0000
// (舍弃)1 0000 0000 0000 0000
printf("%x \n", us); //0
us = (unsigned char)c + uc;
//c = 1000 0000 //0000 0000 1000 0000
//uc= 1000 0000 //0000 0000 1000 0000
// 0000 0001 0000 0000
printf("%x \n", us); //0x100
us = c + (char)uc;
//c = 1000 0000 //1111 1111 1000 0000
//uc= 1000 0000 //1111 1111 1000 0000
// 1 1111 1111 0000 0000
printf("%x \n", us); //0xff00
us = (unsigned short)c + uc;
printf("%x \n", us); //0
return 0;
}