На Горох
Информатика, 10 класс, 11 класс

1.5. Представление числовой информации в компьютере

"Информатика (базовый уровень) (в 2 частях)", Под ред. Макаровой Н.В.

Объяснение темы В оглавлении: 1.5. Представление числовой информации в компьютере

Кратко о теме

Компьютер представляет числа последовательностями двоичных разрядов — нулей и единиц. Такое кодирование подходит электронным элементам, которые надёжно различают два устойчивых состояния. Значение числа зависит от весов его разрядов, а доступное количество разрядов ограничивает диапазон записи. Для целых и дробных чисел используют разные способы хранения: с фиксированной или плавающей запятой. Их особенности объясняют, почему в вычислениях возможны переполнение и округление.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Позиционная система счисления — способ записи чисел, в котором значение цифры определяется её позицией и основанием системы. Например, в десятичной записи 222 цифры одинаковы, но их вклады равны 200, 20 и 2. Это правило позволяет читать и вычислять числа, записанные в разных системах.

Разряд — позиция цифры в записи числа, соответствующая определённой степени основания системы счисления. В двоичной записи справа налево находятся разряды с весами 2⁰, 2¹, 2² и далее. Разряды помогают определить вклад каждой цифры и понять, сколько места число занимает в памяти.

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

Плавающая запятая — способ представления числа в виде мантиссы и порядка, позволяющий изменять положение разделителя. Мантисса хранит значащие цифры, а порядок задаёт масштаб числа, например умножение на степень основания. Благодаря этому можно записывать очень большие и очень малые величины, хотя конечная разрядность ограничивает точность.

Как это устроено

Компьютер использует двоичную систему не потому, что в ней удобнее считать человеку, а потому, что её проще надёжно реализовать в электронных схемах. Элемент может находиться в одном из двух устойчивых состояний: например, напряжение ниже или выше заданного порога. Эти состояния кодируют нулём и единицей; различать два уровня надёжнее, чем множество уровней, чувствительных к помехам. Из последовательностей таких разрядов компьютер строит числа и выполняет над ними операции.

В позиционной записи вес цифры задаётся степенью основания, поэтому число можно представить суммой вкладов всех цифр. В десятичной системе основание равно 10, а в двоичной — 2: например, двоичная запись 1011 означает 1·2³ + 0·2² + 1·2¹ + 1·2⁰. Нули тоже важны: они показывают, что соответствующий вес в сумме не участвует. Этот принцип работает и для дробной части, где используются отрицательные степени основания.

Чтобы перевести целое число из десятичной системы в двоичную, его делят на 2 и сохраняют остатки: каждый остаток показывает очередную цифру с конца. Поэтому после завершения деления остатки читают в обратном порядке. Для перевода двоичного числа в десятичное складывают веса разрядов, на которых стоят единицы. Дробную часть разбирают отдельно: после запятой идут веса 2⁻¹, 2⁻², 2⁻³ и так далее; десятичную дробь можно переводить последовательным умножением на 2.

Число в памяти занимает конечное количество разрядов — образует разрядную сетку. Если выделено n разрядов для беззнакового целого, возможны 2ⁿ комбинаций, от 0 до 2ⁿ − 1. Дополнительный разряд увеличивает число вариантов вдвое, но неограниченными значения не становятся. Когда результат не помещается в отведённую сетку, возникает переполнение: сохранённое значение может оказаться неверным или операция будет обработана особым образом.

При фиксированной запятой граница между целой и дробной частями всегда стоит на одном месте. Это делает шаг между соседними представимыми числами постоянным, но диапазон и точность приходится распределять между целыми и дробными разрядами. Плавающая запятая хранит мантиссу и порядок: порядок сдвигает запятую, позволяя покрыть широкий диапазон. Однако число значащих цифр мантиссы ограничено, поэтому соседние представимые значения не везде одинаково близки, а некоторые дроби округляются.

Способы представления числовой информации в компьютере

ХарактеристикаЦелые числаФиксированная запятаяПлавающая запятая
Структура записиРазряды целого числа; для знаковых чисел учитывается знакРазряды целой и дробной частей с заранее заданной границейМантисса и порядок, задающий масштаб
Положение запятойПосле последнего целого разрядаЗаранее фиксированоОпределяется порядком и может изменяться
Диапазон представимых значенийОграничен числом разрядов и способом кодирования знакаОграничен разрядами целой части и выбранным масштабомШирокий; зависит от диапазона порядка
Точность представленияВсе целые в диапазоне представимы точноШаг представления постоянен при выбранном масштабеОграничена числом значащих разрядов мантиссы
Основная область примененияСчёт, индексы, значения без дробной частиВеличины с заранее известным диапазоном и фиксированной дробной частьюНаучные расчёты и величины разного масштаба
Причина возникновения ошибок округленияОкругления нет для целых в диапазоне; выход за него вызывает переполнениеДробь может не совпасть с доступным шагом, а результат — выйти за диапазонБесконечная двоичная дробь и ограниченная длина мантиссы

Сравнивайте сначала положение запятой и структуру записи: именно они определяют, как кодируется масштаб числа. Затем смотрите на диапазон и точность — эти свойства связаны с распределением разрядов. Таблица описывает общие принципы; конкретные границы зависят от формата и числа выделенных битов.

Разбор задач

Перевод 45 из десятичной системы в двоичную

Нужно получить двоичную запись и проверить её значение. При делении на 2 остаток всегда равен 0 или 1, то есть сразу даёт очередной двоичный разряд. Поскольку первый остаток относится к самому правому разряду, последовательность нужно записать в обратном порядке.

  1. Делим 45 на 2: частное 22, остаток 1.
  2. Делим 22 на 2: частное 11, остаток 0.
  3. Делим 11 на 2: частное 5, остаток 1.
  4. Делим 5 на 2: частное 2, остаток 1; затем 2 на 2: частное 1, остаток 0.
  5. Делим 1 на 2: частное 0, остаток 1. Читаем остатки снизу вверх: 101101.
  6. Проверяем разрядными весами: 1·2⁵ + 0·2⁴ + 1·2³ + 1·2² + 0·2¹ + 1·2⁰ = 32 + 8 + 4 + 1 = 45.

Ответ: 45₁₀ = 101101₂. Обратная проверка подтверждает перевод, потому что сумма весов единичных разрядов снова равна 45.

Перевод двоичного числа 1011,101 в десятичную систему

Разделим запись на целую и дробную части, чтобы не перепутать веса по сторонам запятой. Слева от запятой степени двойки начинаются с 2⁰ и растут вправо налево. Справа степени отрицательные и идут по порядку: 2⁻¹, 2⁻², 2⁻³.

  1. Для целой части 1011 получаем 1·2³ + 0·2² + 1·2¹ + 1·2⁰ = 8 + 2 + 1 = 11.
  2. Для дробной части 101 получаем 1·2⁻¹ + 0·2⁻² + 1·2⁻³ = ½ + ⅛ = 0,625.
  3. Складываем части: 11 + 0,625 = 11,625.

Ответ: 1011,101₂ = 11,625₁₀. Нулевой разряд дробной части не даёт вклада, но сохраняет правильные веса следующих цифр.

Диапазон 8-разрядной беззнаковой сетки

В беззнаковой сетке все разряды используются для записи величины, а знак отдельно не хранится. Каждый из восьми разрядов может быть нулём или единицей, поэтому всего существует 2⁸ комбинаций. Минимум получается из восьми нулей, максимум — когда все разряды равны единице.

  1. Находим количество вариантов: 2⁸ = 256.
  2. Считаем от нуля, поэтому диапазон включает 256 значений: от 0 до 255.
  3. Проверяем максимум: 11111111₂ = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255.
  4. Если результат вычисления равен 260, он превышает максимум 255 и не помещается в сетку. При вычислении по модулю 256 в восьми разрядах останется 4, но конкретное поведение зависит от того, как система обрабатывает переполнение.

Ответ: можно представить целые числа от 0 до 255 включительно. Значение за пределами этого диапазона нельзя корректно записать в тех же восьми беззнаковых разрядах.

Типичные ошибки

  • При переводе делением остатки записывают в порядке получения. Так возникает обратная запись числа: первый остаток соответствует младшему разряду, а не старшему. Проверьте результат обратным переводом — сумма весов единичных разрядов должна дать исходное число.

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

  • Предполагают, что десятичная дробь всегда точно записывается в двоичном виде. Но некоторые дроби дают бесконечную последовательность двоичных цифр, и память хранит только её приближение. Проверяйте, можно ли разложить дробь в конечную сумму отрицательных степеней двойки; если нет, понадобится округление.

  • При вычислениях забывают, что разрядная сетка ограничена, поэтому ожидают точного результата без переполнения и потери младших разрядов. Такое происходит из-за привычки считать числа неограниченными. Сравните результат с допустимым диапазоном и учитывайте, что дробное значение может округлиться даже без выхода за пределы.

Связь с другими темами

Для понимания темы пригодятся степени чисел, позиционная запись, алгоритмы перевода между системами счисления и действия с двоичными числами. Эти знания объясняют, как из битов получается числовое значение. Представление чисел связано с устройством памяти, кодированием данных и форматами хранения. Оно также помогает понять переполнение и погрешности округления в программах и электронных таблицах.

Что запомнить

  • Компьютер хранит числовую информацию в двоичном виде.

  • Вес разряда позиционной записи определяется степенью основания системы счисления.

  • Количество разрядов ограничивает множество чисел, которые можно представить.

  • Фиксированная запятая удобна для чисел с заранее известным диапазоном и положением дробной части.

  • Плавающая запятая позволяет хранить числа очень разного масштаба.

  • Ограниченная разрядность может приводить к переполнению и потере точности.

  • Двоичное представление десятичных дробей не всегда является конечным.

Частые вопросы по теме

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

Электронным схемам проще и надёжнее различать два состояния, например наличие или отсутствие сигнала. Их кодируют цифрами 1 и 0, поэтому числа хранятся в двоичном виде. Десятичную запись компьютер может показывать пользователю, преобразуя внутреннее представление.

Как быстро перевести целое десятичное число в двоичную систему?

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

Зачем нужны восьмеричная и шестнадцатеричная системы счисления?

Длинную двоичную запись в них короче и удобнее читать. Одна восьмеричная цифра соответствует трём двоичным разрядам, а одна шестнадцатеричная — четырём. Эти системы применяют, например, при записи машинных кодов и адресов памяти.

Почему при хранении дробных чисел возникают ошибки округления?

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

Чем запись с фиксированной запятой отличается от записи с плавающей запятой?

При фиксированной запятой место разделителя целой и дробной частей заранее определено, поэтому удобно хранить числа известного масштаба. При плавающей запятой число кодируется мантиссой и порядком, который задаёт положение запятой. Это позволяет охватить широкий диапазон величин, но точность зависит от числа доступных разрядов.

Спросить по теме параграфа

1.5. Представление числовой информации в компьютере

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс, 11 класс
Учебник
"Информатика (базовый уровень) (в 2 частях)", Под ред. Макаровой Н.В.