不怕大家伙笑话,我以前一直以为在C语言中,有符号变无符号仅仅就是去掉数字前面的符号就行,如今做了一道题,细细研究,才发现,原来不是!
如果你也感兴趣,那就学学今天这节吧~
话不多说,直接举例说明:
比如-1,若想得出它对应的无符号整数值,则需先写出对应的补码
通常写8位二进制
-1的原码:1000001
-1的反码:11111110
-1的补码:11111111
注意:无符号整数没有符号位,所有位都是用来表示数值大小,当把-1的二进制补码当做无符号数来看待时,他就变成了一个很大的数字,因为转化成十进制后结果会很大,运算过程如下:
再来举一个例子:
比如求-15对应的无符号整数:
原码:10001111
反码:11110000
补码:11110001
写作不易,若有疑问,请多指教!