ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
14967 Топик полностью
ReAl (27.09.2004 17:47, просмотров: 1) ответил prosto_Alex на Да причем тут компилятор?
А если откуда-то передаётся, то он вообще ни за что не отвечает. И результат всё равно не гарантирован. Если коротко: Вопрос был "сколько будет FFFFFFFF сдвинуть влево на 32 при помощи оператора сдвига языка С". Ответ "в общем случае неизвестно, вне какой-либо связи с процессором и системой команд". А по поводу цитаты: в части производительности - все вопросы к интелу, я цитировал IA-32 Intel® Architecture Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z в части отсутствия микрокода для сдвига на процессорах начиная с 386. У 386 есть небольшой микрокод, разбирающий варианты сдвига (знаковый/беззнаковый, ...), а собственно сдвиг выполняется комбинационной схемой, там несколько тактов занимает сдвиг, причём количество тактов зависит как раз от "через С/не через С" и т.п., но не зависит от длины сдвига (как у 286-го). Я не могу себе представить микрокод, выполняющий до 31 сдвига за фиксированное малое число тактов.