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

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

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

Как компьютер хранит числа

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

Позиционные системы счисления

Система счисления называется позиционной, если значение цифры зависит от её позиции в записи. Привычная нам десятичная система имеет основание 10: число 253 означает 2·100 + 5·10 + 3·1. Точно так же устроены двоичная (основание 2), восьмеричная (8) и шестнадцатеричная (16) системы. В последней не хватает обычных цифр, поэтому к ним добавляют буквы A, B, C, D, E, F для обозначения значений от 10 до 15.

СистемаОснованиеЦифрыГде применяют
Двоичная20, 1внутреннее представление в памяти
Восьмеричная80–7запись прав доступа в системах
Десятичная100–9повседневные вычисления
Шестнадцатеричная160–9, A–Fцвета, адреса памяти

Перевод числа в двоичную систему

Чтобы перевести целое число из десятичной системы в двоичную, его последовательно делят на 2 и записывают остатки снизу вверх.

Переведём 13 в двоичную систему: 13 : 2 = 6, остаток 1 6 : 2 = 3, остаток 0 3 : 2 = 1, остаток 1 1 : 2 = 0, остаток 1 Читаем остатки снизу вверх: 1101 Проверка: 1·8 + 1·4 + 0·2 + 1·1 = 13

Целые и вещественные числа

Целые числа хранятся в памяти точно: каждому отводится фиксированное число байтов. Например, в одном байте (8 битов) помещаются значения от 0 до 255. Чтобы хранить и отрицательные числа, применяют дополнительный код: старший бит становится знаковым, и тогда тот же байт хранит числа от −128 до 127.

Вещественные (дробные) числа хранятся иначе — в формате с плавающей запятой. Число разбивается на знак, мантиссу (значащие цифры) и порядок (степень двойки). Это позволяет хранить очень большие и очень маленькие величины, но почти всегда — приближённо. Именно поэтому компьютер может выдать, что 0.1 + 0.2 не равно ровно 0.3: дробь 0,1 не представляется в двоичной системе конечным числом разрядов.

Частые ошибки. Не путайте бит и байт: 8 битов = 1 байт. При переводе в двоичную систему остатки читают снизу вверх, а не сверху вниз. И помните: вещественные числа в компьютере хранятся приближённо, поэтому сравнивать их на точное равенство опасно.

Кратко о главном

  • Внутри компьютера все числа кодируются двоичной системой из 0 и 1.
  • В позиционной системе значение цифры зависит от её позиции; основание определяет набор цифр.
  • Перевод в двоичную систему — это деление на 2 с чтением остатков снизу вверх.
  • Целые числа хранятся точно, отрицательные — в дополнительном коде.
  • Вещественные числа хранятся с плавающей запятой и почти всегда приближённо.