恭维-方法分析

时间:2019-01-15 17:54:13

标签: math binary twos-complement

我对二人称赞的方法有疑问:这两种方法中哪些是正确的,我该如何反驳不正确的方法?

开始示例任务:将否定否定号-20转换为二进制的补码否定二进制数(以8位二进制数保存)。

方法1:

  1. 找到该数字的正二进制值
  2. 翻转该二进制值的位
  3. 在翻转的号码中添加一个

示例:对于-20 .. 二进制中的20是00010100,被翻转的那些位是11101011,然后将翻转的位加1得到11101100。 因此,11101100是-20的二进制补码。

方法2:

  1. 从正否认值减去1
  2. 找到该拒绝号的正二进制数
  3. 翻转该二进制数字的位

示例:对于-20.。20是正拒绝号,因此20-1 =19。二进制中的19是00010011。将位翻转:11101100。11101100是二进制补码中的-20。

1 个答案:

答案 0 :(得分:0)

这两种方法均有效。

给定n位数字A = an-1,an-2 ... a0,C2是这样的数字,使得A + C2(A)= 2 ^ n

如果/ A是A的位补,则很容易证明A + / A = 11..11 = 2 ^ n-1 => C2 = / A + 1证明了第一种方法。

第二种方法指出C2(A)= /(A-1)。如果我们计算 /(A-1)+(A-1)= 11 ... 11 = 2 ^ n-1,我们可以看到/(A-1)+ A = 2 ^ n证明了第二种方法。