带符号的幅度和 1 的补码
Signed Magnitude and 1's Complement
我遇到了这个问题,我必须将这个 8 位有符号二进制数 10110100
转换为有符号大小、1 的补码和 2 的补码。
对于带符号的幅度,我得到的值为 -76。
对于 1 的补码,我知道我必须翻转所有位,所以我会得到 01001011
,但我的问题是这个 1 的补码中的第一位是 0,这意味着它是一个正数。谁能给我解释一下如何把它变成前面没有零的负 1 的补数?
如果您不首先说明如何解释位模式,那么将位模式转换为其他任何内容都没有意义。我假设你的意思是你需要将模式解释为这三个。
所以对于带符号的大小,您将第一位作为符号,并将其余部分解释为无符号二进制数。结果不是-76。
对于1的补码,如果第一位是1,就知道是负数。您反转所有位,将结果解释为无符号数,最后在前面添加 - 符号。 (如果第一位为 0,则跳过反转步骤并且不添加 - 符号。)
对于 2 的补码,过程是相同的,但是在反转位后,您加 1。
我遇到了这个问题,我必须将这个 8 位有符号二进制数 10110100
转换为有符号大小、1 的补码和 2 的补码。
对于带符号的幅度,我得到的值为 -76。
对于 1 的补码,我知道我必须翻转所有位,所以我会得到 01001011
,但我的问题是这个 1 的补码中的第一位是 0,这意味着它是一个正数。谁能给我解释一下如何把它变成前面没有零的负 1 的补数?
如果您不首先说明如何解释位模式,那么将位模式转换为其他任何内容都没有意义。我假设你的意思是你需要将模式解释为这三个。
所以对于带符号的大小,您将第一位作为符号,并将其余部分解释为无符号二进制数。结果不是-76。
对于1的补码,如果第一位是1,就知道是负数。您反转所有位,将结果解释为无符号数,最后在前面添加 - 符号。 (如果第一位为 0,则跳过反转步骤并且不添加 - 符号。)
对于 2 的补码,过程是相同的,但是在反转位后,您加 1。