To Dizel: вычисление четности (нечетности). Это щчень просто.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 17 марта 2005 г. 22:12

Пусть бит четности вычисляется как


pb = b7 ^ b6 ^ b5 ^ b4 6b3 ^ b2 ^ b1 ^ b0

Дальнейшие вычисления основаны на свойств коммутативности и дистрибутивности функции "Исключающее ИЛИ". С учетом этих свойств можно написать

pb = (b7 ^ b3) ^ (b6 ^ b2) ^ (b5 ^ b1) ^ (b4 ^ b0)

Обозначим результат вычиления выражений в скобках (бит) как ci и получим

pb = c3 ^ c2 ^ c1 ^ c0 = (c3 ^ c2) ^ (c1 ^ c0)

Снова обозначим результат вычисления в скобках как di, тогда получим

pb = d1 ^ d0

Отсюда видно практическая реализация данного вычисления. Так первый промежуточный результат получается при вычислении функции ^ исходного байта и исходного байта с измененным положением тетрад. Второй промежуточный результат вычисляет как функцтя ^ первого промежуточного результата и этого же результата сдвинутого вправо на 1 разряд. Аналогично и для вычисления конечного результата, который формируется в младшем разряде байта.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru