Биты четности используются для проверки того, не были ли нарушены двоичные данные в ходе передачи. Работают они следующим образом:
- Если двоичная строка содержит нечетное количество единиц, бит четности — 1.
- Если двоичная строка содержит четное количество единиц, бит четности — 0.
- Бит четности добавляется в конец двоичной строки.
Задание
Создайте функцию, которая будет при помощи битов четности проверять, валидна ли двоичная строка.
Рабочий пример
validate_binary("10110010") ➞ True # Последняя цифра - бит четности. # 0 - последняя цифра. # 0 означает, что число единиц должно быть четным. # Здесь 4 единицы. # Возвращаем True.
Другие примеры
validate_binary("00101101") ➞ True validate_binary("11000000") ➞ True validate_binary("11000001") ➞ False
Примечание: в инпуте всегда будет 8 символов (байт).
Варианты решений
def validate_binary(b): return b.count('1')%2 == 0
validate_binary=lambda b:1-b.count('1')%2