Являются ли операторы сдвига (<<, >>) арифметическими или логическими в C?
Согласно K&R 2nd edition результаты зависят binary от реализации для сдвигов bit-shift вправо значений со знаком.
Wikipedia говорит, что bit-fiddling C/C++ «обычно» реализует bitwise арифметический сдвиг для bitwise-shift значений со знаком.
По сути, вам bitwise-shift нужно либо протестировать binary-number свой компилятор, либо не bit-fiddling полагаться на него. В моей bit-twiddling справке по VS2008 для текущего bitwise-shift компилятора MS C++ сказано, что binary их компилятор выполняет арифметический bit-shift сдвиг.
c
binary
bit-manipulation
bit-shift
Являются ли операторы сдвига (<<, >>) арифметическими или логическими в C?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.