求十进制数【-372】的32bit的补码,用16进制表示,写出计算过程

问题描述:

求十进制数【-372】的32bit的补码,用16进制表示,写出计算过程

372 除 16 取余 4 ,商 23 除 16 取余 7,商 1 ,用16进制表示:
372 == 0x0174 == 0000 0000 0000 0000 0000 0001 0111 0100
反码 1111 1111 1111 1111 1111 1110 1000 1011
补码==反码加1:1111 1111 1111 1111 1111 1110 1000 1100
写成32bit 16进制表示:0xfffffe8c
C 语言程序:
int x= -372;
printf("%08x",(unsigned int) x);
TC 用 long int
long int x= -372;
printf("%08x",(unsigned long int) x);