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