2.9.1. Целые числа в компьютере
Вся информация, обрабатываемая современными компьютерами, хранится в них в
двоичном виде.Каждая ячейка памяти компьютера состоит из однородных
элементов, обладающих устойчивыми состояниями: ноль и единица. Каждый элемент ячейки
называют разрядом.
Для компьютерного представления целых чисел обычно используется беззнаковое представление и представление в знаковом виде. При беззнаковом представлении все разряды ячейки отводятся под само число.
При представлении со знаком самый старший (левый) разряд отводится под знак
числа, остальные разряды — под число.2.9.2. Беззнаковое представление положительных целых чисел в компьютере
Чтобы получить представление целого положительного числа в компьютере, сначала
это число необходимо перевести в двоичную систему счисления. Если двоичное число
состоит не более чем из k цифр, то это число можно записать в k-разрядной ячейке памяти, дополнив нулями слева до k
разрядов.
Самое большое целое положительное число, которое мы можем записать в k разрядах, состоит из единиц во всех разрядах ячейки.
Минимальное число состоит из нулей во всех разрядах и равно 0.
Пример:
Запишем максимальные числа, которые можно вместить в 8, 16, 32 разрядах.
Количество разрядов | Максимальное число |
8 | 28 – 1 = 255 |
16 | 216 – 1 = 65535 |
32 | 232 – 1 = 4294967295 |
2.9.3. Знаковое представление целых чисел в компьютере
То есть при знаковом представлении чисел 0 в самом левом разряде ячейки
соответствует знаку плюс, а единица – знаку минус. Модуль числа
можно записывать только в оставшихся k – 1 разрядах.
Такое представление чисел называется прямым кодом.
Прямой код положительного числа отличается от прямого кода такого же по модуля
отрицательного числа только содержанием знакового разряда. Однако для
представления отрицательных чисел в компьютере используется дополнительный
код.
При программировании нужно помнить о том, что:
- количество представимых чисел в k разрядах ограничено и зависит от k;
- диапазон знаковых чисел, представимых в k-разрядной ячейке, не симметричен относительно 0.
Пример:
Запишем максимальные и минимальные числа, которые можно записать в 8, 16 и 32
разрядах при знаковом представлении.
Количество разрядов | Минимальное число | Максимальное число |
8 | –27 = –128 | 27 – 1 = 127 |
16 | –215 = –32768 | 215 – 1 = 32767 |
32 | –231 = –2147483648 | 231 – 1 = 2147483647 |
Комментариев нет:
Отправить комментарий