Биты четности используются для проверки того, не были ли нарушены двоичные данные в ходе передачи. Работают они следующим образом:
- Если двоичная строка содержит нечетное количество единиц, бит четности — 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