为什么这个python正确输出16位2s补码?

时间:2017-02-24 02:57:03

标签: python

设binStr为整数数组,数字为"翻译"二进制。

count = len(binStr) - 1
while count >= 0:
      binStr[count] = 0 if number%2 == 0 else 1
      number //= 2
      count -= 1

我在摆弄时写了这篇文章并注意到它适用于这两个标志。为什么这对负数和正数都有效?它应该为负数和正数产生相同的位,但它实际上正常工作而不是。为什么呢?

1 个答案:

答案 0 :(得分:0)

哎呀我最初误读了这个问题...

是的,核心问题是,对于正面和负面数字,底线划分的工作方式不同,如上面Ryan所述