Я бы построил одну таблицу из 16 записей (в виде таблицы из 16 символов), соответствующую каждому кусочку (половине) байтов. Записи 0,1,1,2,1,2, .... 4
Для проверки вашего байта,
Замаскируйте левый клев и выполните поиск, запоминая номер.
Делать. сдвиньте вправо на 4 и выполните второй поиск, добавив число результата к предыдущему, чтобы получить сумму.
Затем проверьте младший бит из суммы. Если это 1, байт нечетный, если это 0, байт четный. Если результат четный, вы переворачиваете старший бит, используя инструкцию xor.
Этот метод поиска намного быстрее, чем сложение битов в байте за одну смену.
напишите мне для простой функции, чтобы сделать паритет для 8 байтов. 3DES использует 3 группы по 8 байтов.