Alterna · учебный материал

Представление целых чисел

Прямой, обратный, дополнительный коды. Симулятор переполнения int8/uint8. Бит-визуализатор. ЕГЭ №14.

Что в этом материале

Содержание и основные понятия

← Вернуться к оглавлению
Alterna · глава 30 · страница 30.1
Представление целых чисел
Три кода, диапазоны, симулятор переполнения и сравнение всех кодов сразу.
Отрицательные целые хранятся в
дополнительном коде
. Это позволяет процессору использовать одну схему ALU для сложения и вычитания. Понимание этих кодов — ключ к задачам ЕГЭ №14.
ФГОС
ФОП
ЕГЭ №14
01
Прямой код (sign-magnitude)
Старший бит — знак (0 = «+», 1 = «−»). Остальные биты — модуль числа в обычном двоичном представлении.
Примеры в 8 битах
+5 =
0
0000101
−5 =
1
0000101
+0 =
0
0000000
−0 =
1
0000000
Проблема
Два нуля: +0 и −0. Сложение требует анализа знаков. В современных компьютерах
не используется
.
02
Обратный код (ones' complement)
Для положительных — как прямой. Для отрицательных —
инвертируются все биты
(включая знаковый).
Примеры в 8 битах
+5 =
0
0000101
−5 =
1
1111010 (инверсия 00000101 = 11111010)
+0 =
0
0000000
−0 =
1
1111111
Где применяется
Исторически использовался в некоторых mainframe'ах. Сегодня изредка встречается в сетевых протоколах (CRC, контрольные суммы).
03
Дополнительный код (two's complement) — стандарт
Для положительных — как прямой. Для отрицательных:
Берём модуль числа в двоичном.
Инвертируем все биты.
Прибавляем 1.
Пример: −13 в 8 битах
|13| = 00001101
Инверсия: 11110010
+1:
11110011
🔢
Интерактив 1: Бит-визуализатор — число в дополнительном коде
Кликай по битам, чтобы изменить. Старший бит = знак (красный).
Значение:
7
6
5
4
3
2
1
0
Введи число или кликни по битам.
04
Симулятор переполнения int8/uint8
Покрути стрелку — увидишь, что происходит при выходе за диапазон
⚠️
Интерактив 2: Круговая шкала — переполнение
Тип
−128
127
0
Нажимай +1 и −1, чтобы увидеть, как числа «оборачиваются» по кругу.
Важно для ЕГЭ
При переполнении int8: 127 + 1 = −128 (а не 128, как в uint8). Это
архитектурное решение
процессора, и оно полностью совместимо с операциями АЛУ.
05
Сравнитель трёх кодов
Введи любое число — получи все три кода сразу с цветовой разметкой
⚖️
Интерактив 3: Прямой, обратный и дополнительный — в одном окне
Число (int8):
—
Нажми «Сравнить»
Ключевые отличия
Прямой код:
старший бит = знак, остальные = модуль числа.
Обратный код:
инвертируем ВСЕ биты (включая знаковый). Два нуля: +0 и −0.
Дополнительный код:
обратный + 1. Один ноль. Вычитание = сложение. Стандарт современных CPU.
🎯
Мини-тест: 5 вопросов
XP: 0 / 100
🧩
Быстрый тест по теме
Проверь себя! 5 вопросов, 20 XP за каждый правильный ответ.

Структурная карта учебников