генерирующий номер бита от 0.0 до X.7 — python

#python #byte #bit

#питон #байт #бит #python

Вопрос:

Я хотел бы сгенерировать разрядный адрес с помощью python, начиная с 0.0 и заканчивая X.7.

Как создать функцию, которая будет увеличивать номер байта, когда адрес бита становится выше X.7?

Пример:

 Input = 0.7   0.1 (0.8)  >> Output = 1.0

Input = 1.7   0.1 (1.8)  >>  Output = 2.0
  

Ответ №1:

Вашим внутренним представлением может быть некоторое неотрицательное целое число битов:

 >>> 7   1
8

>>> 15   1
16
  

Затем вы можете преобразовать его в формат с точками всякий раз, когда вам нужно строковое представление:

 def format_bit_address(bit):
    return f"{bit // 8}.{bit % 8}"
  
 >>> format_bit_address(7)
'0.7'
>>> format_bit_address(1)
'0.1'
>>> format_bit_address(7   1)
'1.0'