Классический 8-битный целочисленный тип обычно интерпретируют как:
- беззнаковый: диапазон 0 … 255
- или знаковый: диапазон −128 … 127
Чтобы однозначно ответить, будем рассуждать сначала про беззнаковый 8-бит (0–255). Затем кратко отметим, что изменится при знаковом 8-бит.
Разбор по пунктам (беззнаковый 8 бит, 0…255):
Количество учеников в классе
- Обычно меньше 255 и чаще гораздо меньше. Значение может быть любым в пределах 0–255.
- Можно хранить в 8 бит.
Суммарный балл ЕГЭ по 2 предметам
- Каждый предмет максимум 100 баллов, итого 0–200.
- 0–200 ⊆ 0–255, значит можно хранить в 8 бит.
Суммарный балл ЕГЭ по 3 предметам
- Максимум 300 баллов (0–300).
- 300 выходит за пределы 0–255, поэтому не поместится в 8 бит.
Температура воздуха (целое число)
- При беззнаковом 8-битном хранении можно хранить только неотрицательные значения.
- Но температура воздуха может быть отрицательной (например, −20). Поэтому для беззнакового 8-бит это значение хранить нельзя.
Номер дня в году
- Диапазон 1–365 (или 1–366 в високосный год).
- 365 > 255, значит не поместится в 8 бит без знака.
Температура тела человека (с точностью до десятых)
- Это вещественное значение (например 36.6). Без использования вычислений с фиксированной точкой в 8-битное целое это не поместится.
- Даже если пытаться хранить как целое, например умножив на 10 (366), 366 > 255, значит не поместится.
Итого для беззнакового 8-битного целого:
- Подходит: Количество учеников в классе; Суммарный балл ЕГЭ по 2 предметам.
- Не подходит: Суммарный балл по 3 предметам; Температура воздуха; Номер дня в году; Температура тела (с точностью до десятых).
Если же рассматривать знаковый 8-бит (−128 … 127):
Подходит (при условии, что значения не превышают 127 и не требуют отрицательных/много больший значений):
- Количество учеников в классе (если число ≤ 127)
- Температура воздуха (обычно в диапазоне −50 … +50)
Не подходит:
- Суммарный балл ЕГЭ по 2 предметам (макс 200 > 127)
- Суммарный балл ЕГЭ по 3 предметам (макс 300)
- Номер дня в году (макс 365)
- Температура тела с десятыми долями (например 36.6) — требует дробной части; даже если фиксировать десятые, диапазон 0…127 не поддерживает такие значения (36.6 превысит единицы в десятках, или потребует дополнительной фиксации точности).
Вывод:
- При стандартном беззнаковом 8-битном хранении можно поместить в 8 бит только:
- Количество учеников в классе
- Суммарный балл ЕГЭ по 2 предметам
- При знаковом 8-битном хранении такие же, плюс возможно Температура воздуха (если она не выходит за −128…127), но большинство остальных величин не поместится (например, 2 или 3 предмета ЕГЭ, день года и так далее).
Если хочешь, могу привести конкретные примеры диапазонов для твоего класса или привести краткую таблицу сравнения unsigned vs signed для этих величин.