Это зависит. Это зависит от нескольких вещей:
- какие значения эти значения в диапазоне от -50 до +50 равны
- сколько бит в байте
Если эти значения от -50 до +50 являются произвольными числами с плавающей запятой или целыми числами, вы не сможете уместить 2 из них в один байт. Является ли это так, зависит от количества бит в байте. В Visual C ++ байты 8-битные. 8 бит слишком мало для произвольных целых чисел от -50 до +50, как это объясняли другие люди. На некоторых платформах байты могут достигать 16 бит. В этом случае, очевидно, вы можете упаковать несколько целых чисел от -50 до +50 в 16 бит. AFAIK, в C / C ++ нельзя использовать числа с плавающей запятой до 16 бит или меньше.
Теперь, если эти значения от -50 до +50 не являются произвольными значениями с плавающей запятой или целыми числами, если эти значения могут быть только -50 или +50, для одного такого значения достаточно 1 бита. Если они могут быть только -50, 0 или +50, для одного такого значения достаточно 2 бит. Если они могут быть только -50, -25, 0, +25 или +50, для одного такого значения достаточно 3 бит.
Дело в том, что ответ во многом зависит от того, как сформулирован вопрос. Ваш вопрос явно не определяет значения в диапазоне от -50 до +50 в виде произвольных целых чисел или произвольных чисел с плавающей запятой, а также не подразумевает такого рода значения. Если ваш вопрос не прояснен, нет однозначного ответа, такого как yes
или no
, лучшее, что вы можете получить, это maybe
.