>>> bin(-1)
'-0b1'
bin()函数返回'-'和'0b'以及输入负数的绝对值。 (我知道python会发生下溢,但绝不会溢出。)是python如何存储负数吗?是存储负号及其绝对值吗? Python中的符号位在哪里?
如果我输入:
int('1000..(many many zeros)..0000',2)
无论有多少个零,头部上的“ 1”都不会被视为负号位? 因此,这是否意味着二进制和整数之间的关系与C ++中的关系不同?我对python中的原始二进制规则感到困惑。
答案 0 :(得分:0)
python中的数字具有任意范围。但是,给定一个字的大小,您可以得到通常的两个补码的单词:
def two_comp(x, n):
return bin(2**n+x)[-n:]