flopscope.numpy.binary_repr
flopscope.numpy.binary_repr(num, width=None)[flopscope 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 to .
Parameters
- num:int
Only an integer decimal number can be used.
- width:int, optional
The length of the returned string if
numis positive, or the length of the two's complement ifnumis negative, provided thatwidthis at least a sufficient number of bits fornumto be represented in the designated form. If thewidthvalue is insufficient, an error is raised.
Returns
- bin:str
Binary representation of
numor two's complement ofnum.
See also
Notes
binary_repr is equivalent to using base_repr with base 2, but about 25x
faster.
References
1
Wikipedia, "Two's complement",
https://en.wikipedia.org/wiki/Two's_complementExamples
>>> import flopscope.numpy as fnp
>>> flops.binary_repr(3)
'11'
>>> flops.binary_repr(-3)
'-11'
>>> flops.binary_repr(3, width=4)
'0011'The two's complement is returned when the input number is negative and width is specified:
>>> flops.binary_repr(-3, width=3)
'101'
>>> flops.binary_repr(-3, width=5)
'11101'