Задача Задача №3498257
А
А
Задача основана на 16-битной плавающей запятой форме: 1-й байт содержит знак и порядок, 2-й байт — мантиссу.
Допущения (стандартная схема):
- Знак s: 1 бит в первом байте.
- Порядок E: 7 бит, с фиксированным смещением B = 2^(7-1) - 1 = 63.
- Мантисса: 8 бит (0..255) во втором байте.
- Нормализованные числа имеют E ∈ [1, 126], мантисса M ∈ [0, 255], и значение |x| = (1 + M/256) · 2^(E - B).
- Для E = 0 могут существовать субнормальные числа: |x| = (M/256) · 2^(1 - B) при M ≠ 0.
Минимальное и максимальное по модулю представимое число:
- Минимальное по модулю (самое маленькое ненулевое):
- Субнормальные числа дают минимальное: E = 0, M = 1. |x|min = (1/256) · 2^(1 - 63) = 2^(-70) ≈ 8.47033 × 10^(-22).
(Если же считать только нормальные числа без субнормальных, то минимальное было бы |x| = 2^(-62).)
- Максимальное по модулю:
- Для нормальных чисел максимум достигается при E = 126 и M = 255: |x|max = (1 + 255/256) · 2^(126 - 63) = (511/256) · 2^63 = 511 · 2^55 = 2^64 − 2^55. Это равно 18,410,715,276,690,587,648 ≈ 1.84107 × 10^19.
Итого:
- Минимальное по абсолютной величине ненулевое представимое число: 2^(-70) ≈ 8.47033e-22.
- Максимальное по абсолютной величине число: 511 · 2^55 = 2^64 − 2^55 ≈ 1.8410715e19.