是否有任何内置函数在Python中获取负整数的二进制格式?

时间:2018-09-24 05:17:11

标签: python binary integer

>>> bin(-1)
'-0b1'

bin()函数返回'-'和'0b'以及输入负数的绝对值。 (我知道python会发生下溢,但绝不会溢出。)是python如何存储负数吗?是存储负号及其绝对值吗? Python中的符号位在哪里?

如果我输入:

int('1000..(many many zeros)..0000',2)

无论有多少个零,头部上的“ 1”都不会被视为负号位? 因此,这是否意味着二进制和整数之间的关系与C ++中的关系不同?我对python中的原始二进制规则感到困惑。

1 个答案:

答案 0 :(得分:0)

python中的数字具有任意范围。但是,给定一个字的大小,您可以得到通常的两个补码的单词:

def two_comp(x, n):
    return bin(2**n+x)[-n:]