P
pro·school.ru
Каталог школ

Представление целых чисел в памяти компьютера

💻 Информатика · 7 класс

Целые числа в памяти компьютера

Любая информация в компьютере хранится в виде нулей и единиц — битов. Целые числа не исключение: они записываются в двоичной системе счисления и занимают определённое количество разрядов (битов) памяти. Чем больше разрядов отведено под число, тем большее число можно в них записать. Это похоже на то, как на счётах с большим числом костяшек можно показать большее число.

Сколько значений помещается в разрядах

В одном разряде (бите) помещается один из двух знаков: 0 или 1. В двух разрядах получается уже четыре комбинации: 00, 01, 10, 11. В трёх разрядах — восемь комбинаций. Общее правило простое: N разрядов дают 2^N разных комбинаций, то есть столько различных чисел можно ими закодировать.

Число разрядовФормулаСколько значений
12^12
22^24
32^38
42^416
82^8256

Каждый добавленный разряд удваивает количество возможных значений. Поэтому числа растут очень быстро: всего восемь разрядов уже дают 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.
  • Наибольшее число на единицу меньше количества значений.