как при выполнении программы определяется тип считываемых данных?

возможно, вопрос сформулирован некорректно, но поверьте, мне трудно как-то правильно это сделать и если б я мог, то обязательно сформулировал бы почётче.

попытаюсь раскрыть суть вопроса. в общем если смотреть по таблице аски, то символ 3 будет кодироваться числом 32 в 16ричке, что запишется определённым двоичным кодом в памяти. но кроме символа 3 я могу записать число типа unsigned int 50, который будет иметь такой же двоичный код. да, размер данных отличается, но как процессор понимает, хотим мы получить инт или чар, если двоичный код у них одинаков?


Ответы (1 шт):

Автор решения: Никита Самоуков

У процессора в командах пишется что за тип. Потому он и понимает что это за тип. У процессора нет понятия символа.

Для него 50 это просто набор из битов. Он не оперирует 50 он оперирует участками памяти по 8 бит по 64 итд. Что с ними делать определяется переданным набором команд.

Один и тот же набор из 8 бит можно вывести как символ и как число.

Mov ax,50

Mov eax,50

→ Ссылка