Представление целых чисел в памяти компьютера
💻 Информатика · 7 класс
Целые числа в памяти компьютера
Любая информация в компьютере хранится в виде нулей и единиц — битов. Целые числа не исключение: они записываются в двоичной системе счисления и занимают определённое количество разрядов (битов) памяти. Чем больше разрядов отведено под число, тем большее число можно в них записать. Это похоже на то, как на счётах с большим числом костяшек можно показать большее число.
Сколько значений помещается в разрядах
В одном разряде (бите) помещается один из двух знаков: 0 или 1. В двух разрядах получается уже четыре комбинации: 00, 01, 10, 11. В трёх разрядах — восемь комбинаций. Общее правило простое: N разрядов дают 2^N разных комбинаций, то есть столько различных чисел можно ими закодировать.
| Число разрядов | Формула | Сколько значений |
|---|---|---|
| 1 | 2^1 | 2 |
| 2 | 2^2 | 4 |
| 3 | 2^3 | 8 |
| 4 | 2^4 | 16 |
| 8 | 2^8 | 256 |
Каждый добавленный разряд удваивает количество возможных значений. Поэтому числа растут очень быстро: всего восемь разрядов уже дают 256 вариантов.
Байт и числа
Один байт — это восемь битов. В одном байте помещается 2^8 = 256 различных значений. Если кодировать неотрицательные целые числа, то в байте умещаются числа от 0 до 255 — всего 256 значений, если считать вместе с нулём. Чтобы хранить числа больше 255, отводят два байта, четыре байта и более.
Примеры записи небольших чисел в одном байте (восемь разрядов):
число 5 → 00000101
число 10 → 00001010
число 255 → 11111111
Чтобы записать число в двоичном виде, его раскладывают по разрядам так же, как в десятичной системе раскладывают по единицам, десяткам и сотням, только основанием служит двойка. Поэтому в записи появляются только нули и единицы, а каждый разряд отвечает за свою степень двойки.
Знание того, сколько чисел помещается в заданное число разрядов, помогает решать практические задачи: например, понять, хватит ли одного байта для хранения возраста человека (хватит, ведь возраст меньше 255) или нужно отвести больше памяти под население города. Если число не помещается в отведённые разряды, происходит переполнение, и результат искажается, поэтому количество разрядов выбирают заранее с запасом.
Частая ошибка. Восемь разрядов кодируют 256 значений, но наибольшее число при этом равно 255, а не 256. Так получается потому, что отсчёт начинается с нуля: значения идут от 0 до 255, и ноль тоже считается одним из значений.
Кратко о главном
- Целые числа хранятся в двоичном виде в разрядах памяти.
- В N разрядах помещается 2 в степени N различных значений.
- Каждый новый разряд удваивает число вариантов.
- Байт — это 8 битов, в нём 256 значений.
- В одном байте умещаются числа от 0 до 255.
- Наибольшее число на единицу меньше количества значений.