Операторы для работы с отдельными битами
& . | И |
| | ИЛИ |
^ | ИСКЛЮЧАЮЩЕЕ ИЛИ |
~ | НЕ |
Компьютерное представление числовой информации.
Любая информация (текс, числа, изображение, звук) хранится в памяти ПК в двоичном коде. Поэтому современные компьютерные технологии называются цифровыми технологиями.
В компьютере различают 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].
