numpy.binary_repr#
- numpy.binary_repr(num, width=None)[source]#
Return the binary representation of the input number as a string.
For negative numbers, if width is not given, a minus sign is added to the front. If width is given, the two’s complement of the number is returned, with respect to that width.
In a two’s-complement system negative numbers are represented by the two’s complement of the absolute value. This is the most common method of representing signed integers on computers [1]. A N-bit two’s-complement system can represent every integer in the range \(-2^{N-1}\) to \(+2^{N-1}-1\).
- Parameters:
- numint
Only an integer decimal number can be used.
- widthint, optional
The length of the returned string if num is positive, or the length of the two’s complement if num is negative, provided that width is at least a sufficient number of bits for num to be represented in the designated form. If the width value is insufficient, an error is raised.
- Returns:
- binstr
Binary representation of num or two’s complement of num.
See also
Notes
binary_repr
is equivalent to usingbase_repr
with base 2, but about 25x faster.References
[1]Wikipedia, “Two’s complement”, https://en.wikipedia.org/wiki/Two’s_complement
Examples
>>> np.binary_repr(3) '11' >>> np.binary_repr(-3) '-11' >>> np.binary_repr(3, width=4) '0011'
The two’s complement is returned when the input number is negative and width is specified:
>>> np.binary_repr(-3, width=3) '101' >>> np.binary_repr(-3, width=5) '11101'