Некоторая величина может принимать целые значения от 0 до 127. сколько байт потребуется для записи значения этой величины в двоичном ко- де?
Ответы на вопрос:
я обращусь к низкоуровневому c++. у него нет типа byte, зато аналог ему - это unsigned char. напишем простенькую программу:
#include < iostream> int main() { std: : cout < < sizeof(unsigned char);return 0; }
выполним её и получим ответом число 1.
что это и откуда оно взялось?sizeof - это оператор, принимающий какой-то тип или переменную и возвращающий количество байт, занимаемое в памяти этой переменной. грубо говоря - вы просите швею измерить вашу талию: даёте ей
измерить себя, а в ответ получаете обхват талии. отсюда и выходит ответ, что занимаемое место в памяти типом byte равняется 1 байту.
нам понадобится формула , где n - это количество информации, а i -
количество бит, отведённое на неё. у нас есть промежуток - это значения от 0 до 127. всего значений получается 128. если не верите - пересчитайте. итак, подставим:
мы получили количество бит, которое впритык занимает
переменная в памяти. к радости, компьютеры устроены так, что память не делится на выделяемое переменной пространство (не ячейки по 7 бит, 9 бит, 11 бит и так далее). если программа выделила под переменную 7 бит, то компьютер выделит 2³ бит (8 бит ⇒ 1 байт), в котором переменная будет хорошо себя
чувствовать и не тесниться. ещё пример для ясности:
если переменная занимает 122 бита (это фантастика, но для примера сойдёт), то выделится 2⁷, поскольку:
2⁶ < 122 < 2⁷. почему не 2⁶? было бы смешно, если переменная, которая занимает 122 бит, занимала бы ячейку памяти в 64
бит. это то же самое, если бы вы поместили слона в коробку из-под спичек. почему не 2⁸ или, например, не 2⁹⁹⁹⁹⁹⁹? а зачем компьютеру выделять такое пространство, если можно выделить наименьшее и быть в плюсе? это то же самое, если бы вы выделили для муравья десятиэтажный дом.
1 байт
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
ALik357528.08.2021 23:48
-
murzilk08.05.2020 15:36
-
Гогич29.06.2022 08:54
-
48096остьлмс05.09.2022 14:42
-
vladugan02.09.2022 00:43
-
tapilina9203.09.2022 09:02
-
Milenadaw15.12.2022 14:26
-
makoldinvyacheoxyw3a26.03.2021 02:25
-
jarretquinswid29.04.2023 07:57
-
Лоликус16.04.2020 16:27
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.