Изменения

Перейти к: навигация, поиск
Нет описания правки
== Прямой код ==
При записи числа в '''прямом коде ''' (англ. ''sign-and-magnitude method'') старший разряд (англ. ''most significant bit'') является знаковым разрядом (англ. ''sign bit''). Если его значение равно 0, то число положительное, если 1 — отрицательное. В остальных разрядах (которые называются цифровыми) записывается двоичное представление модуля числа.
Получить Таким способом в <tex> n </tex>-битовом типе данных можно представить диапазон чисел <tex> [-2^{n-1} + 1; 2^{n-1} - 1] </tex>. Достоинства метода:*получить прямой код числа достаточно просто, однако у этого метода есть ряд недостатков. Недостатки:
*существуют два нуля ("+0" и "-0"), из-за чего усложняется арифметическое сравнение;
== Код со сдвигом ==
С помощью При использовании '''кода со сдвигом можно представить ''' (''excess-''K) мы сдвигаем целочисленный отрезок от нуля до <tex> 2^{n } </tex> чисел. Суть кода в том, что мы сдвигаем целочисленный отрезок (от нуля до <tex> 2^{n} </tex>— количество бит) влево на <tex> 2^{n-1} </tex>, а затем последовательно кодируем получившееся на этом отрезке числа , в порядке возрастания, кодами от 000...0 до 111...1 . По сути, при таком кодировании:*к кодируемому числу прибавляем <tex> 2^{n-1} </tex>;*переводим получившееся число в двоичную систему исчисления. Можно получить диапазон значений <tex> [-2^{n-1}; 2^{n-1} - 1]</tex>. Достоинства метода: *нет проблемы двух нулей;*не требуется усложнение архитектуры процессора. Недостатки:
Принцип кодирования следующий:*К кодируемому числу прибавляем <tex> 2^{n-1} </tex> при арифметических операциях нужно учитывать смещение, то есть проделывать на одно действие больше (например, после «обычного» сложения двух чисел у результата будет двойное смещение, одно из которых необходимо вычесть);*Переводим получившееся число в двоичную систему исчисленияряд положительных и отрицательных чисел несимметричен.
Диапазон значений [<tex>Из-2^{n-1} </tex>;<tex> 2^{n-1}-1 </tex>]за необходимости усложнять арифметические операции код со сдвигом используется не часто.
== Дополнительный код ==
418
правок

Навигация