Есть ли встроенная функция для получения двоичного формата отрицательного целого числа в Python? - PullRequest
0 голосов
/ 24 сентября 2018
>>> bin(-1)
'-0b1'

Функция bin () возвращает '-' и '0b' и абсолютное значение входного отрицательного числа.(Я знал, что Python будет страдать от переполнения, но он никогда не переполнится.) Так ли Python хранит отрицательное число? Сохраняет отрицательный знак и его абсолютное значение?Где находится бит знака в Python?

Если я введу:

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

Независимо от того, сколько нулей, «1» на голове никогда не будет рассматриваться как знак минус.бит? Следовательно, значит ли это, что отношения между двоичным и целым не совпадают с тем, что в C ++?Я запутался с оригинальными двоичными правилами в Python.

1 Ответ

0 голосов
/ 25 сентября 2018

Числа в питоне имеют произвольный диапазон.Но, учитывая размер слова, вы можете получить обычное слово из двух дополнений:

def two_comp(x, n):
    return bin(2**n+x)[-n:]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...