Source code for piel.models.logic.electronic.digital
from ....types import BitsList
[docs]
def bits_array_from_bits_amount(bits_amount: int) -> BitsList:
"""
Returns an array of bits (in bytes) of a given length.
Args:
bits_amount(int): Amount of bits to generate.
Returns:
BitsList: List of binary representations in bytes.
"""
# Generate range of integers from 0 to 2^bits_amount - 1
maximum_integer_represented = 2**bits_amount
# Convert each integer to its binary representation, padded with leading zeros
bit_array = [
format(i, f"0{bits_amount}b") # Convert each binary string to bytes
for i in range(maximum_integer_represented)
]
return bit_array