16 lines
374 B
Python
16 lines
374 B
Python
def join_msb_lsb(msb: int, lsb: int) -> int:
|
|
return (msb << 16) | lsb
|
|
|
|
|
|
def twos_complement(number: int, bits: int) -> int:
|
|
"""
|
|
Compute the 2's complement of the int value val
|
|
"""
|
|
|
|
# if sign bit is set e.g., 8bit: 128-255
|
|
if (number & (1 << (bits - 1))) != 0:
|
|
# compute negative value
|
|
number = number - (1 << bits)
|
|
|
|
return number
|