В общем случае генератор кода кодирует такие значения непосредственно в инструкциях («немедленная адресация») или сохраняет их в сегменте данных программы для загрузки по мере необходимости.
Оптимизация, известная как «постоянное сворачивание», вычисляет значения постоянных выражений во время компиляции. В вашем конкретном примере умный компилятор распознает, что ваше условие всегда будет истинным, и избегает генерации кода для теста, поэтому значения 12345, 56789 и 10000 могут вообще не быть представлены в машинном коде, созданном для вашей программы. 1003 *
Ваш компилятор, вероятно, имеет возможность сохранить промежуточный язык ассемблера, сгенерированный для вашей программы, , например, , g++ -S
. Узнайте немного об архитектуре и языке ассемблера вашего процессора, чтобы понять и даже сделать полезные выводы из этого вывода.