为什么2的取反是-3?

来源:百度知道 编辑:UC知道 时间:2024/05/23 12:18:24

2的二进制是00000010,取反得到11111101,最高位为1,说明这是个负数的补码。负数的补码,是由其绝对值的原码取反加1得到,反过来,将负数的补码减1取反,就得到其绝对值的原码。11111101-1=11111100,再取反得到00000011,即十进制的3。也就是说该负数的绝对值为3,那么这个负数为-3。

2 ===>00000000,00000000,00000000,00000010 (二进制,32位机)
取反,得11111111,11111111,11111111,11111101
符号位为1,是个负数
取反加1,得到其原码为000000000,00000000,00000000,00000011,为3
即原来的数为-3
ps:负数在计算机内是以其绝对值的补码的形式存储的。负数的补码等于原码取反加1,原码也等于补码取反加1。正数的补码则为其本身。

你 说的是2进制吧~
2的二进制是~~0010
取反~1101~第一个1是代表负数~

1101 是多少啊,大哥.第一位是代表负,那也是-5 啊,真是的...

-x==!x+1
3=====00000011
!3====11111100
!3+1==11111101

!x====00000010
x=====2