Изменения

Перейти к: навигация, поиск
м
Нет описания правки
Выбор способа хранения целых чисел в памяти компьютера — не такая тривиальная задача, как могло бы показаться на первый взгляд. Мы хотимЖелательно, чтобы этот способ:
*не требовал усложнения архитектуры процессора для выполнения арифметических операций с отрицательными числами;
== Код со сдвигом ==
При использовании '''кода со сдвигом''' (''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.
По сути, при таком кодировании:
*к кодируемому числу прибавляем прибавляют <tex> 2^{n-1} </tex>;*переводим переводят получившееся число в двоичную систему исчисления.
Можно получить диапазон значений <tex> [-2^{n-1}; 2^{n-1} - 1]</tex>.
Недостатки:
*ряд положительных и отрицательных чисел несимметричен, но это не так важно: с помощью дополнительного кода выполнены гораздо более важные вещи, которые мы хотим желаемые от способа представления целых чисел..
==Список литературы==
418
правок

Навигация