Летом месяц кодил на асме (осваивал, типа), Це вообще не трогал. Потом друг-паскалист звонит: - слушай, я тут с линуховыми сырцами разбираюсь, чё значит выражение (1 << 8) ? - ну эээ... там оператор побитового сдвига, только как ты собрался константу сдвигать?.. (это мне, значит, привиделось shl 1, 8 ...)
Операции над константами делаются на этапе компиляции. Никаких сдвигов там не будет. Будет сразу 256.
Ну почему же? Например компиллер МОГ БЫ сделать так: srand(1 << 8); ==> mov eax,1 shl eax,8 push eax call [srand] add esp, 4
Lyzzard А вот не нужно отрывать часть выражения от остального. В каком контексте оно было использовано? Возьмём, например, код: int i = 12 + (1 << 8). На асме можно написать аналогично: mov ,12 + (1 shl 8)
IceStudent Вот-вот, это я уже потом допетрил. А тогда я пребывал в состоянии глубочайшего транса (где-то на полпути к дзену - первый месяц... знакомые ощущения?), и не сразу врубился, что к чему...