Некая величина может принимать целые значения от 0 до 127. Сколько

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

Задать свой вопрос
1 ответ

Метод 1

Языки программирования

Я обращусь к низкоуровневому C++. У него нет типа byte, зато аналог ему - это unsigned char. Напишем простенькую программку:

  1. include lt;iostreamgt;
  2. int main()
  3.        std::cout lt;lt; sizeof(unsigned char);
  4.        return 0;

Выполним её и получим ответом число 1.

Что это и откуда оно взялось?

sizeof - это оператор, принимающий какой-то тип либо переменную и возвращающий количество б, занимаемое в памяти этой переменной. Грубо разговаривая - Вы просите швею измерить Вашу талию: даёте ей измерить себя, а в ответ получаете обхват талии. Отсюда и выходит ответ, что занимаемое место в памяти типом byte равняется 1 б.

Метод 2

Более глубочайшее разъясненье происхождения числа 1

Нам пригодится формула \tt\displaystyle N = 2^i, где N - это количество инфы, а i - количество бит, отведённое на неё. У нас есть просвет - это значения от 0 до 127. Всего значений выходит 128. Если не веруете - пересчитайте. Итак, подставим:

\tt\displaystyle 128 = 2^i\\\\128 = 2^7\implies i = 7

Мы получили количество бит, которое вплотную занимает переменная в памяти. К радости, компы устроены так, что память не делится на выделяемое переменной место (не создаются ячейки по 7 бит, 9 бит, 11 бит и так далее). Если программка выделила под переменную 7 бит, то компьютер выделит 2 бит (8 бит 1 байт), в котором переменная будет хорошо себя ощущать и не тесниться. Приведу ещё пример для ясности:

Если переменная занимает 122 бита (это фантастика, но для образца сойдёт), то выделится 2, поскольку:

2 lt; 122 lt; 2. Почему не 2? Было бы забавно, если переменная, которая занимает 122 бит, занимала бы ячейку памяти в 64 бит. Это то же самое, если бы Вы расположили слона в коробку из-под спичек. Почему не 2 или, к примеру, не 2? А зачем компьютеру выделять такое место, если можно выделить меньшее и быть в плюсе? Это то же самое, если бы Вы выделили для муравья десятиэтажный дом.

Ответ

1 б

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт