277
правок
Изменения
Нет описания правки
==== Недостатки префиксных кодов ====
* Так как префиксные коды являются кодами переменной длины, часто процессору приходится считывать блоки данных с невыровненных адресов, т.е. сдвинуть полученные а данные, считать следующий за ним блок данных, в котором содержится оставшийся один байт интересующих нас данныхосновном, сдвинуть полученные данныесчитываются блочно, объединить вместе с данными первого блока и поместить их в регистркод приходится считывать побитово, т.е. проделать довольно большой объем работы. Поэтому время работы может что значительно увеличиться, либо будут возникать различного рода ошибки.значительно замедляет скорость считывания данных
* При появлении ошибок в кодовой комбинации, при определенных обстоятельствах, может привести к неправильному декодированию не только данной, но и последующей кодовой комбинации, в отличии от равномерных кодов, где ошибка в кодовой комбинации приводит к неправильному декодированию только ее.
Пример:
Возьмём строку abacaba, и закодируем ее аналогично предыдущему примеру.
c*(abacaba) = 0001001000100
Предположим, что последовательность передалась неверно и стала:
0001001'''1'''00100
Разобьем ее согласно словарю:
00 01 00 1 1 00 1 00
a b a c c a c a
Полученная строка совпадает только в битах, которые находились до ошибочного, поэтому декодирование неравномерного кода, содержащего ошибки, может дать абсолютно неверные результаты.
* Необходимость хранить словарь декодировки символов.