numpy.binary_repr#

numpy.binary_repr(число, ширина=None)[источник]#

Возвращает двоичное представление входного числа в виде строки.

Для отрицательных чисел, если ширина не задана, в начало добавляется знак минуса. Если ширина задана, возвращается дополнительный код числа относительно этой ширины.

В системе дополнения до двух отрицательные числа представлены дополнением до двух абсолютного значения. Это наиболее распространённый метод представления знаковых целых чисел в компьютерах [1]. N-битная система дополнения до двух может представлять каждое целое число в диапазоне \(-2^{N-1}\) to \(+2^{N-1}-1\).

Параметры:
числоint

Можно использовать только целое десятичное число.

ширинаint, необязательный

Длина возвращаемой строки, если число положительно, или длина дополнения до двух, если число отрицательно, при условии, что ширина является по крайней мере достаточным количеством бит для число быть представленным в указанной форме. Если ширина значение недостаточно, возникает ошибка.

Возвращает:
binstr

Двоичное представление число или дополнение до двух для число.

Смотрите также

base_repr

Возвращает строковое представление числа в заданной системе счисления.

bin

Встроенный в Python генератор двоичного представления целого числа.

Примечания

binary_repr эквивалентно использованию base_repr с основанием 2, но примерно в 25 раз быстрее.

Ссылки

[1]

Википедия, «Дополнение до двух», https://en.wikipedia.org/wiki/Two’s_complement

Примеры

>>> import numpy as np
>>> np.binary_repr(3)
'11'
>>> np.binary_repr(-3)
'-11'
>>> np.binary_repr(3, width=4)
'0011'

Дополнительный код возвращается, когда входное число отрицательное и указана ширина:

>>> np.binary_repr(-3, width=3)
'101'
>>> np.binary_repr(-3, width=5)
'11101'