格式输出函数 无符号整型

格式输出函数 无符号整型
为什么-1用%u输出是65535啊
是怎么转化的呢

1、计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同 [1] 。在计算机系统中,数值一律用补码来表示和存储
2、int在计算机中占4个字节,int默认是有符号的整型。
原码:10000000 00000000 00000000 00000001
反码:11111111 11111111 11111111 11111110
补码:11111111 11111111 11111111 11111111
3、%u表示的就是unsigned int。65535
补码:11111111 11111111 11111111 11111111
反码:11111111 11111111 11111111 11111111
原码:11111111 11111111 11111111 11111111
4、对原码、反码、补码的转换机制得有了解。
正数反码等于原码,正数补码等于原码。
负数反码等于原码符号位不变,其余取反,负数补码等于反码+1。