Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
архитектура.doc
Скачиваний:
3
Добавлен:
24.09.2019
Размер:
436.74 Кб
Скачать

6) Система кодирования чисел

Кодирование чисел. Системы счисления

Система счисления (СС) - способ кодирования числовой информации, т.е. способ записи чисел с помощью некоторого алфавита, символы которого называют цифрами.

Различают системы счисления позиционные и непозиционные. Пример позиционной системы счисления — арабская (современная десятичная), непозиционной — римская.

В позиционных системах счисления величина, обозначаемая цифрой в записи числа, зависит от её положения в числе (позиции, разряда). Количество используемых цифр называется основанием системы счисления.

Так, в десятичной системе счисления, основание которой равно 10, различают 10 арабских цифр - 0, 1, 2, ..., 9.

В вычислительной технике широко применяют двоичную, восьмеричную и шестнадцатеричную систему счисления.

Двоичная система счисления имеет основание 2, и, следовательно, ее алфавит состоит из двух цифр - 0 и 1; алфавит восьмеричной системы счисления составляют цифры 0, 1, 2, 3, 4, 5, 6, 7; шестнадцатеричной - десять арабских цифр от 0 до 9 и еще шесть символов - А (10), В (11), С (12), D (13), E (14), F (15).

Для любой позиционной системы счисления справедливо следующее правило формирования числа на основании входящих в эту систему цифр:

или, если расписать сумму в этом выражении,

y – число;

k – основание системы счисления;

xi – цифры числа;

i – номер позиции (разряда) числа, начиная с 0.

Так, на основании формулы (6) десятичное число 638(10) представляется следующим образом:

Мы говорим в таком случае, что в этом числе 6 сотен, 3 десятка и 8 единиц.

Исторически, использование для счета десяти цифр связано с тем, что человечество училось считать на пальцах. На самом деле для представления любого числа достаточно алфавита, состоящего только из двух символов, что и реализуется, при хранении информации в памяти электронных устройств. Ячейка памяти в этом случае может находиться в одном из двух состояний, которые кодируются как 0 и 1. Информационная емкость такой ячейки равна 1 биту.

Прямой код

Прямой код – это представление числа в двоичной системе счисления, при котором первый (старший) разряд отводится под знак числа. Если число положительное, то в левый разряд записывается 0; если число отрицательное, то в левый разряд записывается 1.

Таким образом, в двоичной системе счисления, используя прямой код, в восьмиразрядной ячейке (байте) можно записать семиразрядное число. Например:

0 00011010 - положительное число

1 00011010 – отрицательное число

Количество значений, которые можно поместить в семиразрядной ячейке со знаком в дополнительном разряде равно 256. Это совпадает с количеством значений, которые можно поместить в восьмиразрядную ячейку без указания знака. Однако диапазон значений уже другой, ему принадлежат значения от -128 до 127 включительно (при переводе в десятичную систему счисления).

При этом в вычислительной технике прямой код используется почти исключительно для представления положительных чисел.

Для отрицательных чисел используется так называемый дополнительный код. Это связано с удобством выполнения операций над числами электронными устройствами компьютера.

Операция сложения положительного числа и отрицательного числа, представленного в прямом коде

  1. Прямой код числа 5: 0 000 0101

Прямой код числа -7: 1 000 0111

  1. Два исходных числа сравниваются. В разряд знака результата записывается знак большего исходного числа.

  2. Если числа имеют разные знаки, то вместо операции сложения используется операция вычитания из большего по модулю значения меньшего. При этом первый (знаковый) разряд в операции не участвует.

_ 000 0111

000 0101

-------------

  1. 10

  1. После выполнения операции учитывается первый разряд. Результат операции 1 000 0010, или -210.

Дополнительный код

В дополнительном коде, также как и прямом, первый разряд отводится для представления знака числа. Прямой код используется для представления положительных чисел, а дополнительный – для представления отрицательных. Поэтому, если в первом разряде находится 1, то мы имеем дело с дополнительным кодом и с отрицательным числом.

Все остальные разряды числа в дополнительном коде сначала инвертируются, т.е. заменяются противоположными (0 на 1, а 1 на 0). Например, если 1 0001100 – это прямой код числа, то при формировании его дополнительного кода, сначала надо заменить нули на единицы, а единицы на нули, кроме первого разряда. Получаем 1 1110011. Но это еще не окончательный вид дополнительного кода числа.

Далее следует прибавить единицу к получившемуся инверсией числу:

1 1110011 + 1 = 1 1110100

В итоге и получается число, которое принято называть дополнительным кодом числа.

Операция сложения положительного числа и отрицательного числа, представленного в дополнительном коде

  1. Прямой код числа 5: 0 000 0101

Прямой код числа -7: 1 000 0111

  1. Формирование дополнительного кода числа -7.

Прямой код : 1 000 0111

Инверсия : 1 111 1000

Добавление единицы: 1 111 1001

  1. Операция сложения.

0 000 0101

+ 1 111 1001

--------------

1 111 1110

  1. Проверка результата путем преобразования к прямому коду.

Дополнительный код: 1 111 1110

Вычитание единицы : 1 111 1101

Инверсия : 1 000 0010 (или -210)

7)

Двоичная арифметика

Во всех ЭВМ для хранения информации используется двоичное представление. Это значит, что каждый элемент информации, хранимой в ЭВМ, имеет только два значения. Для них используются обозначения "включено" - "выключено" или "истинно" - "ложно" либо "0" - "1". В ЭВМ эти значения реализуются в виде уровней напряжения. К счастью, при написании программы мы не должны интересоваться напряжениями, а только числами. Используя простейшие числа 0 и 1, можно выполнять очень сложные вычисления.

В силу двоичного представления информации в ЭВМ для вычислений используется система счисления по основанию 2. В этой системе счисления употребляются только две цифры: 0 и 1. В обычной жизни мы используем систему счисления по основанию 10, или десятичную систему счисления. В системе счисления по основанию 10 употребляется десять различных цифр от 0 до 9. Систему счисления по основанию 2 можно представить себе как систему, рассчитанную на людей, имеющих только два пальца.

Ограничение системы счисления по основанию 10 десятью цифрами не мешает записывать с их помощью большие значения. Для этого мы используем многоразрядные числа, где каждая цифра числа соответствует различной степени 10. Самая правая цифра указывает на число единиц. Следующая влево цифра обозначает число десятков. Следующая - число сотен и т.д. Этому перемещению справа налево соответствует прогрессия: 100, 101, 102 и т.д. Число 2368 - это в действительности 2 тысячи, 3 сотни, 6 десятков и 8 единиц.

Система счисления по основанию 2, или двоичная система, полностью аналогична десятичной системе за исключением того, что разряды числа в ней соответствуют не степеням 10, а степеням 2. Значения, большие 1, представляются в ней многоразрядными числами, точно так же, как в системе по основанию 10 представляются значения, большие 9. Любая цифра двоичного числа называется битом. Каждый бит в числе соответствует какой-либо степени 2. Для обозначения того, что приводится двоичное представление числа, мы в конце его записи будем ставить латинскую букву B. Это позволит разграничить двоичные и десятичные числа, так как у последних буква в конце отсутствует. Например, запись 2368 является десятичным числом, а запись 101101B - двоичным числом. В большинстве учебников по математике для обозначения используемой системы счисления применяются нижние индексы. Мы будем использовать символ "B", так как двоичные числа в языке ассемблера выделяются именно этим символом.

Двоичное число с n битами может представлять значения вплоть до 2n-1. То есть двоичное число длиной n бит может однозначно представлять значения от 0 до 2n-1. Например, наибольшее значение, которое может быть записано с помощью 4-битовой комбинации, равно 15.

Для каждого конкретного микропроцессора существует максимальная длина двоичных чисел - такая, что обработка этих чисел реализуется в нем достаточно просто. Для микропроцессора 8088, используемого в IBM PC, машинные операции производятся с данными длиной 16 бит. Наибольшее целое число, которое можно представить с помощью этих 16 бит, равно 216-1, или 65535. Однако эта арифметика, не учитывающая знаков, допускает только числа от 0 до 65535. Для обозначения отрицательных чисел требуется модифицировать описанный способ представления чисел.

Двоично-десятичный код, BCD, 8421-BCD — форма записи целых чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода.

Например, десятичное число 31110 будет записано в двоичной системе счисления в двоичном коде как 1 0011 01112, а в двоично-десятичном коде как 0011 0001 0001BCD.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]