#include <stdio.h> int main() { unsigned int a; unsigned int b; a=1; b=2; printf("a-b: %d,%x ",a-b,a-b); printf("a-b: %u,%x ",a-b,a-b); return 1; }
a-b: -1;ffffffff;
a-b: 4294967295, ffffffff
无符号1111111111111111 表示很大的数 而有符号数 1 111111111111111 表示-1
负数 符号位+补码的形式表示
负数:原码就是原来的表示方法、反码是除符号位(最高位)外取反、补码=反码+1双字节数