#include<stdio.h>
int main(int argc,char*argv[])
{
signed char c = 178;
printf("%d\n",c);
printf("%u\n",c);
/* 输入时看数据
原码:1011 0011
反码:1011 0011
补码 1011 0011
输出时看数据类型
补码:1011 0010
反码:1011 0001
原码:1100 1110(最高位为符号位)
%d 按无符号整形输出 -78
%u 按有符号整形输出
原码:1000 0000 0000 0000 0000 0000 0100 1110
反码:1111 1111 1111 1111 1111 1111 1011 0001
补码:1111 1111 1111 1111 1111 1111 1011 0010
补码:1111 1111 1111 1111 1111 1111 1011 0010
反码:1111 1111 1111 1111 1111 1111 1011 0010
原码:1111 1111 1111 1111 1111 1111 1011 0010 输出结果为4294967218 */
unsigned char d = -9;
printf("%d\n",d);
printf("%u\n",d);
/* 输入时看数据
原码:1000 1001
反码:1111 0110
补码 1111 0111
输出时看数据类型
补码:1111 0111
反码:1111 0111
原码:1111 0111(最高位为符号位)
1111 0111为无符号数,原码,反码,补码都一样
结果为247
*/
return 0;
}
求-57的原码、反码和补码
原码:1011 1001
反码:1100 0110
补码:1100 0111