【问题标题】:Is there any built-in function to get the binary format of a negative integer in Python?是否有任何内置函数可以在 Python 中获取负整数的二进制格式?
【发布时间】:2019-02-27 14:13:45
【问题描述】:
>>> bin(-1)
'-0b1'

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

如果我输入:

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

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

【问题讨论】:

标签: python binary integer


【解决方案1】:

python 中的数字有任意范围。但是,给定一个字长,你可以得到通常的二补字:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多