double arrow

Представление целых отрицательных чисел



Операторы для работы с отдельными битами

& И
| ИЛИ
^ ИСКЛЮЧАЮЩЕЕ ИЛИ
~ НЕ

Компьютерное представление числовой информации.

Любая информация (текс, числа, изображение, звук) хранится в памяти ПК в двоичном коде. Поэтому современные компьютерные технологии называются цифровыми технологиями.

В компьютере различают 2 типа числовых величин: целые и вещественные числа. Различаются и способы их представления в памяти ПК.

Представление целых чисел:

Любую информацию в памяти ПК можно записать в виде 0 и 1, т.е. бит. 8 бит = 1 байту.

Часть памяти, хранящую одно число, называют ячейкой. Минимальная ячейка, хранящая ЦЕЛОЕ число, имеет размер - 8 бит, т.е 1 байт.

Целые числа в памяти ПК хранятся в формате с фиксированной запятой. В этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а «запятая» находится справа после младшего разряда, т.е. вне разрядной сетки.

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




25 в 10 = 11001000

Самый старший разряд хранит знак числа. Если число положительное, то в этом разряде 0, а если отрицательное - 1.

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

Минимальное число – 00000000

В десятичной системе оно соответствует 0

Максимальное число - 01111111

В десятичной системе оно соответствует 127

Таким образом, диапазон целых неотрицательных чисел, помещающихся в 8-разрядную ячейку [0; 127].

Представление целых отрицательных чисел

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

Получить дополнительный код можно по следующему алгоритму:

1) записать внутреннее представление положительного числа Х;

2) записать обратный код, т.е. заменить 1 на 0 и 0 на 1.

3) к полученному числу прибавить 1.

Рассмотрим применение данного алгоритма на примере десятичного числа -25.

1) Запишем внутреннее представление числа 25 в 8-разрядной ячейке: 00011001

2) Запишем обратный код: 11100110

3) Прибавим к получившемуся числу 1: 11100111 - это и есть -25.

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



Для проверки Вы можете сложить числа +25 и -25. В результате должен получиться 0.

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

Минимальное число - 00000000

В десятичной системе оно соответствует 0

Максимальное число - 10000000

В десятичной системе оно соответствует -120

Таким образом, диапазон целых отрицательных чисел, помещающихся в 8-разрядную ячейку [-128; 0].

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

[-128; 127].

Если требуется больший диапазон, необходимо использовать ячейки большего размера.

Для 16-разрядной ячейки (2 байта) диапазон значений - [-32 768; 32 767].

Для 32-разрядной ячейки (4 байта) диапазон значений - [-2 147 483 648; 2 147 483 647].



Сейчас читают про: