sizeof - это оператор, принимающий какой-то тип или переменную и возвращающий количество байт, занимаемое в памяти этой переменной. Грубо говоря - Вы просите швею измерить Вашу талию: даёте ей измерить себя, а в ответ получаете обхват талии. Отсюда и выходит ответ, что занимаемое место в памяти типом byte равняется 1 байту.
Более глубокое объяснение происхождения числа 1
Нам понадобится формула , где N - это количество информации, а i - количество бит, отведённое на неё. У нас есть промежуток - это значения от 0 до 127. Всего значений получается 128. Если не верите - пересчитайте. Итак, подставим:
Мы получили количество бит, которое впритык занимает переменная в памяти. К радости, компьютеры устроены так, что память не делится на выделяемое переменной пространство (не создаются ячейки по 7 бит, 9 бит, 11 бит и так далее). Если программа выделила под переменную 7 бит, то компьютер выделит 2³ бит (8 бит ⇒ 1 байт), в котором переменная будет хорошо себя чувствовать и не тесниться. Приведу ещё пример для ясности:
Если переменная занимает 122 бита (это фантастика, но для примера сойдёт), то выделится 2⁷, поскольку:
2⁶ < 122 < 2⁷. Почему не 2⁶? Было бы смешно, если переменная, которая занимает 122 бит, занимала бы ячейку памяти в 64 бит. Это то же самое, если бы Вы поместили слона в коробку из-под спичек. Почему не 2⁸ или, например, не 2⁹⁹⁹⁹⁹⁹? А зачем компьютеру выделять такое пространство, если можно выделить наименьшее и быть в плюсе? Это то же самое, если бы Вы выделили для муравья десятиэтажный дом.
Var a, b: integer; var c: string; begin writeln('Введите 1 число.'); readln(a); writeln('Введите 2 число.'); readln(b); writeln('Знак операции.'); readln(c); if c='*' then writeln(a*b); if c='/' then writeln(a/b); if c='-' then writeln(a-b); if c='+' then writeln(a+b); end. 2 ЗАДАЧА var a, b: real; begin writeln('Зарабаток Пети:'); readln(a); writeln('Зарабаток Петрова:'); readln(b); if a>b then writeln('Петя заработал больше Петрова.') else if a=b then writeln('Петров и Петя заработали одинаково.') else writeln('Петров заработал больше Пети.'); writeln('Среднее: ', (a+b)/2); end.
CD/DVD-привод Флоппи-привод Клавиатура Винчестер или накопитель внутренний Опять же флоппи-дисковод наверно Видеокарта Звуковая карта Сетевая карта Да Временная память компьютера сохраняет необходимые для запуска и корректной работы приложений файлы Хранение информации Обработка задач Нет Да Перечень накопителей подключенных к пк Документы - Удаленные файлы Хер ее знает. Удаляет безвозвратно может - Панель управления Клик пкм-создать-выбрать что создать Тоже самое только выбрать создать ярлык Тоже самое только выбрать создать папку Пкм на предмет-переименовать Не приводит Уже выше написал - - Для быстрого запуска программы
Я обращусь к низкоуровневому C++. У него нет типа byte, зато аналог ему - это unsigned char. Напишем простенькую программу:
#include <iostream>int main() { std::cout << sizeof(unsigned char); return 0;}Выполним её и получим ответом число 1.
Что это и откуда оно взялось?sizeof - это оператор, принимающий какой-то тип или переменную и возвращающий количество байт, занимаемое в памяти этой переменной. Грубо говоря - Вы просите швею измерить Вашу талию: даёте ей измерить себя, а в ответ получаете обхват талии. Отсюда и выходит ответ, что занимаемое место в памяти типом byte равняется 1 байту.
Более глубокое объяснение происхождения числа 1Нам понадобится формула
, где N - это количество информации, а i - количество бит, отведённое на неё. У нас есть промежуток - это значения от 0 до 127. Всего значений получается 128. Если не верите - пересчитайте. Итак, подставим:
Мы получили количество бит, которое впритык занимает переменная в памяти. К радости, компьютеры устроены так, что память не делится на выделяемое переменной пространство (не создаются ячейки по 7 бит, 9 бит, 11 бит и так далее). Если программа выделила под переменную 7 бит, то компьютер выделит 2³ бит (8 бит ⇒ 1 байт), в котором переменная будет хорошо себя чувствовать и не тесниться. Приведу ещё пример для ясности:
Если переменная занимает 122 бита (это фантастика, но для примера сойдёт), то выделится 2⁷, поскольку:
2⁶ < 122 < 2⁷. Почему не 2⁶? Было бы смешно, если переменная, которая занимает 122 бит, занимала бы ячейку памяти в 64 бит. Это то же самое, если бы Вы поместили слона в коробку из-под спичек. Почему не 2⁸ или, например, не 2⁹⁹⁹⁹⁹⁹? А зачем компьютеру выделять такое пространство, если можно выделить наименьшее и быть в плюсе? Это то же самое, если бы Вы выделили для муравья десятиэтажный дом.
ответ1 байт