
Некоторая величина может принимать целые значения от 0 до 127. Сколько байт потребуется для записи
значения этой величины в двоичном ко- де?

Ответы на вопрос

Способ 1
Языки программирования
Я обращусь к низкоуровневому C++. У него нет типа byte, зато аналог ему - это unsigned char. Напишем простенькую программу:
- #include <iostream>
- int main() {
- std::cout << sizeof(unsigned char);
- return 0;
- }
Выполним её и получим ответом число 1.
Что это и откуда оно взялось?
sizeof - это оператор, принимающий какой-то тип или переменную и возвращающий количество байт, занимаемое в памяти этой переменной. Грубо говоря - Вы просите швею измерить Вашу талию: даёте ей измерить себя, а в ответ получаете обхват талии. Отсюда и выходит ответ, что занимаемое место в памяти типом byte равняется 1 байту.
Способ 2
Более глубокое объяснение происхождения числа 1
Нам понадобится формула , где N - это количество информации, а i - количество бит, отведённое на неё. У нас есть промежуток - это значения от 0 до 127. Всего значений получается 128. Если не верите - пересчитайте. Итак, подставим:
Мы получили количество бит, которое впритык занимает переменная в памяти. К радости, компьютеры устроены так, что память не делится на выделяемое переменной пространство (не создаются ячейки по 7 бит, 9 бит, 11 бит и так далее). Если программа выделила под переменную 7 бит, то компьютер выделит 2³ бит (8 бит ⇒ 1 байт), в котором переменная будет хорошо себя чувствовать и не тесниться. Приведу ещё пример для ясности:
Если переменная занимает 122 бита (это фантастика, но для примера сойдёт), то выделится 2⁷, поскольку:
2⁶ < 122 < 2⁷. Почему не 2⁶? Было бы смешно, если переменная, которая занимает 122 бит, занимала бы ячейку памяти в 64 бит. Это то же самое, если бы Вы поместили слона в коробку из-под спичек. Почему не 2⁸ или, например, не 2⁹⁹⁹⁹⁹⁹? А зачем компьютеру выделять такое пространство, если можно выделить наименьшее и быть в плюсе? Это то же самое, если бы Вы выделили для муравья десятиэтажный дом.
Ответ
1 байт



Если величина может принимать целые значения от 0 до 127, это означает, что её можно представить с помощью 7 бит (так как 2^7 = 128, и 7 бит достаточно для представления значений от 0 до 127).
Таким образом, для записи значения этой величины в двоичном коде потребуется 7 бит. Однако в компьютерных системах информация обычно хранится и обрабатывается блоками по 8 бит, которые называются байтами. Поэтому, чтобы хранить это значение, потребуется 1 байт (8 бит), так как оно будет занимать минимальное количество целых байтов.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili