Определить значение контрольного бита при передаче информационных бит 1111100000111 методом контроля по паритету на нечетность и избыточность кода. Проверить расчеты, используя программу на Python.
Помогите пожалуйста составить программу на Python для этого задания.
Python
Программирование на Python
#Теория про бит чётности - https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82_%D1%87%D1%91%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8
#Принимаю, что a - число из задания
a = 0b1111100000111
print("Информационные биты:",bin(a))
#Пусть b - это переменная для поиска единичного бита
b = 0b1
#Пусть cnt - это количество бит со значением "единица"
cnt = 0
#Вычисляю количество битов со значением 1
cnt = cnt + int(a&b>0) # Беру первый бит: 1 и 1 = 1, 1>0 - значит в 1-м бите единица - увеличиваю cnt на 1. То есть значение (a&b>0) = 1 1&1=1>0= Истина
b = b0) = 1
b = b 0 = True. int(True) = 1
b = b
Самир Абдуллаев
Спасибо вам большое за ответ. Только у меня в задании контроль на нечетность и значит если контрольный бит = 0, то я должна записать его обратное значение, то есть 1. Подскажите, пожалуйста, как указать это обратное значение в программе, чтобы b стал равен единице.
Самир Абдуллаев
Огромное вам спасибо!
#Теория про бит чётности - https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82_%D1%87%D1%91%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8
#Принимаю, что a - число из задания
a = 0b1111100000111
print("Информационные биты:",bin(a))
#Пусть b - это переменная для поиска единичного бита
b = 0b1
#Пусть cnt - это количество бит со значением "единица"
cnt = 0
#Вычисляю количество битов со значением 1
cnt = cnt + int(a&b>0) # Беру первый бит: 1 и 1 = 1, 1>0 - значит в 1-м бите единица - увеличиваю cnt на 1. То есть значение (a&b>0) = 1 1&1=1>0= Истина
b = b<<1 # b теперь равна 0b10 - то есть я перехожу ко 2-му биту
cnt = cnt + int(a&b>0) # 0b1111100000111 & 0b10 = 0b10 и это значение тоже больше нуля, то есть int(a&b>0) = 1
b = b<<1 # b теперь равно 0b100
cnt = cnt + int(a&b>0) # 0b1111100000111 & 0b100 = 0b100 > 0 = True. int(True) = 1
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
print("Количество единичных бит =",cnt)
b = cnt&0b1 # Тут вычисляю бит чётности - то есть, если число cnt чётное, то в результате получаю 0, если нечётное, то получаю 1
print("Бит чётности =",b," Избыточность кода = 1/13") #Тут 13 - это количество цифр в числе "a"
#Принимаю, что a - число из задания
a = 0b1111100000111
print("Информационные биты:",bin(a))
#Пусть b - это переменная для поиска единичного бита
b = 0b1
#Пусть cnt - это количество бит со значением "единица"
cnt = 0
#Вычисляю количество битов со значением 1
cnt = cnt + int(a&b>0) # Беру первый бит: 1 и 1 = 1, 1>0 - значит в 1-м бите единица - увеличиваю cnt на 1. То есть значение (a&b>0) = 1 1&1=1>0= Истина
b = b<<1 # b теперь равна 0b10 - то есть я перехожу ко 2-му биту
cnt = cnt + int(a&b>0) # 0b1111100000111 & 0b10 = 0b10 и это значение тоже больше нуля, то есть int(a&b>0) = 1
b = b<<1 # b теперь равно 0b100
cnt = cnt + int(a&b>0) # 0b1111100000111 & 0b100 = 0b100 > 0 = True. int(True) = 1
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
cnt = cnt + int(a&b>0)
b = b<<1
print("Количество единичных бит =",cnt)
b = cnt&0b1 # Тут вычисляю бит чётности - то есть, если число cnt чётное, то в результате получаю 0, если нечётное, то получаю 1
print("Бит чётности =",b," Избыточность кода = 1/13") #Тут 13 - это количество цифр в числе "a"
Похожие вопросы
- Программирование на Python
- Стоит ли начинать изучение языков программирования с "Python"?
- Заработок на программирование в Python
- Программирование на Python
- Помогите пожалуйста с программированием на Python
- Программирование на Python
- Программирование на Python
- Про программирование на python как работает ИИ
- Программирование на Python
- Программирование на Python