logo
Системы счисления и основы двоичных кодировок

2.2 Представление чисел в компьютере

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

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

Например, число 1910 будет выглядеть:

0

о

0

1

0

0

1

1

Для хранения целых чисел со знаком (отрицательных) отводиться две ячейки памяти (16 битов), причем старший (левый) разряд отводиться под знак числа (если число положительное, то в знаковый разряд записывается 0, если отрицательное - 1).

Например, число -9810 будет выглядеть:

1

0

0

0

0

0

0

0

0

1

1

0

0

0

1

0

Представление целых чисел в компьютере в формате «знак - величина» называется прямым кодом числа. Например, число 200210=111110100102 будет представлено в шестнадцатиразрядном представлении следует следующим образом:

0

0

0

0

0

1

1

1

1

1

0

1

0

0

1

0

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

вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие. Дополнительный код представляет собой дополнение модуля отрицательного числа А до О,

2n-|А|+|А| =0

поскольку в компьютерной 2n=0.

Алгоритм построения такого кода довольно прост:

1. Записать модуль числа в прямом коде.

2. Получить обратный код числа (то есть заменить все нули на единицы, а все единицы на нули).

3. К полученному результату прибавить единицу.

Запишем дополнительный код отрицательного числа -2002 для 16-разрядного представления:

Запишем дополнительный код отрицательного числа -16320 для 16-разрядного представления: