Изменения

Перейти к: навигация, поиск
Нет описания правки
== Прямой код ==
[[Файл:Pricture_1.jpg|170px|thumb|right|Нумерация двоичных кодов чисел в прямом представлении]]
При записи числа в '''прямом коде''' (''sign-and-magnitude method'') старший разряд (''most significant bit'') является знаковым разрядом (''sign bit''). Если его значение равно нулю, то число положительное, если единице — отрицательное. В остальных разрядах (которые называются цифровыми) записывается двоичное представление модуля числа. Например, число −5 в восьмибитном типе данных, использующем прямой код, будет выглядеть так: 10000101.
== Код со сдвигом ==
[[Файл:Picture_2.jpg|170px|thumb|right|Код со сдвигом. Как видно, нумерация зацикливается по модулю <tex>2^n</tex>]]
При использовании '''кода со сдвигом''' (''excess-''<tex> K </tex>, где <tex> K = 2^{n-1} </tex>; также говорят ''biased representation'') целочисленный отрезок от нуля до <tex> 2^n </tex> (<tex> n </tex> — количество бит) сдвигается влево на <tex> 2^{n-1} </tex>, а затем получившиеся на этом отрезке числа последовательно кодируются в порядке возрастания кодами от 000...0 до 111...1. Например, число −5 в восьмибитном типе данных, использующем код со сдвигом, превратится в −5 + 128 = 123, то есть будет выглядеть так: 01111011.
== Дополнительный код ==
[[Файл:Представление двоичных чисел в дополнительном коде.jpg|170px|thumb|right|Нумерация двоичных чисел в представлении дополнения до двух. В отличии от кода со сдвигом, 0 соответствует код 00...000]]
Чаще всего для представления отрицательных чисел используется '''дополнительный код''' (дополнение до двух, англ. ''two's complement'').
308
правок

Навигация