bit_manipulation.binary_shifts¶
Functions¶
|
Take in 2 integers. |
|
Take in 2 positive integers. |
|
Take in positive 2 integers. |
Module Contents¶
- bit_manipulation.binary_shifts.arithmetic_right_shift(number: int, shift_amount: int) str ¶
Take in 2 integers. ‘number’ is the integer to be arithmetically right shifted ‘shift_amount’ times. i.e. (number >> shift_amount) Return the shifted binary representation.
>>> arithmetic_right_shift(0, 1) '0b00' >>> arithmetic_right_shift(1, 1) '0b00' >>> arithmetic_right_shift(-1, 1) '0b11' >>> arithmetic_right_shift(17, 2) '0b000100' >>> arithmetic_right_shift(-17, 2) '0b111011' >>> arithmetic_right_shift(-1983, 4) '0b111110000100'
- bit_manipulation.binary_shifts.logical_left_shift(number: int, shift_amount: int) str ¶
Take in 2 positive integers. ‘number’ is the integer to be logically left shifted ‘shift_amount’ times. i.e. (number << shift_amount) Return the shifted binary representation.
>>> logical_left_shift(0, 1) '0b00' >>> logical_left_shift(1, 1) '0b10' >>> logical_left_shift(1, 5) '0b100000' >>> logical_left_shift(17, 2) '0b1000100' >>> logical_left_shift(1983, 4) '0b111101111110000' >>> logical_left_shift(1, -1) Traceback (most recent call last): ... ValueError: both inputs must be positive integers
- bit_manipulation.binary_shifts.logical_right_shift(number: int, shift_amount: int) str ¶
Take in positive 2 integers. ‘number’ is the integer to be logically right shifted ‘shift_amount’ times. i.e. (number >>> shift_amount) Return the shifted binary representation.
>>> logical_right_shift(0, 1) '0b0' >>> logical_right_shift(1, 1) '0b0' >>> logical_right_shift(1, 5) '0b0' >>> logical_right_shift(17, 2) '0b100' >>> logical_right_shift(1983, 4) '0b1111011' >>> logical_right_shift(1, -1) Traceback (most recent call last): ... ValueError: both inputs must be positive integers