所以我被告知,两个补码通常用来找到一个数字的补码而我只用它来补充正数(即positve - >负转换)但是我刚才得到一个例子这本书问我以下内容:
在8位二进制二进制补码中表达23,-23和-9 形式
现在是什么意思? 23表示二进制为-23,-23表示23?
在那里混淆了
答案 0 :(得分:1)
2的补码中的正数表示与无符号表示相同。当负面表现发挥作用时,事情开始发生变化。因此,通常,对于给定的w比特,可以用2的补码表示的数字是-2 ^(w-1)-1到2 ^(w-1),其中w比特是有符号比特。因此,由于您有8位,您可以表示-128到127之间的数字。第8位将是有符号位,0表示正数,1表示负数。 对于二进制2的补码N中的数字的任何正表示,负对应-N非常容易找到,只是反转位,并加1。例: 7 in 2的补码是0111,反转这些位给出:1000,加1给出1001,这是2的补码中的-7!希望这有帮助!
答案 1 :(得分:1)
2&#39的补码用于表示负数,反过来可用于进行减法。
23 = 00010111b
要获得-23(23的2'),翻转所有位,并加1:
11101000b + 1
=11101001b (-23)
-9是9的2的补码.9是
00001001b
所以-9是
11110111b (Flipping and add +1)
另见here