-
- С делением сдвигом сложнее. Там слева при сдвиге знакового отрицательного числа вылезает знак. Распространение знака называется. - Олдфаг(27.02.2015 00:57, )
- Причём вылезет знак или нет - это "implementation defined". Вот так вот. Бегите и прячьтесь в своём сраном ассемблере. - SciFi(27.02.2015 00:59)
- :))))))))))))))) ali00ff(239 знак., 18.03.2015 13:31)
- Интересно, реально бывает ли сдвиг вправо не арифметическим для знаковых? - Andreas(27.02.2015 09:49)
- А почему нет? Нужно только в операторе сдвига указать явное преобразование, типа Bill(35 знак., 27.02.2015 11:20)
- Это понятно. Вопрос про "неопределенное поведение", которое по факту вполне определенное. - Andreas(27.02.2015 13:53)
- Применительно к данному случаю "неопределенного поведения" не встречал. Здесь как раз все определено полностью. - Bill(27.02.2015 15:40)
- Рыскал по гуглю - не нашёл. Все говорят, что видели только арифметический сдвиг. Зато по стандарту деление на степень двойки гарантированно работает: x /= (1 << N). - SciFi(27.02.2015 14:07)
- Это понятно. Вопрос про "неопределенное поведение", которое по факту вполне определенное. - Andreas(27.02.2015 13:53)
- А почему нет? Нужно только в операторе сдвига указать явное преобразование, типа Bill(35 знак., 27.02.2015 11:20)
- Обычно если unsigned int, то заполняется нулём, а если signed int -- старшим битом. Увы, не стандартизовано, хотя очень правильная мысль. - Николай Коровин(27.02.2015 02:01)
- Причём вылезет знак или нет - это "implementation defined". Вот так вот. Бегите и прячьтесь в своём сраном ассемблере. - SciFi(27.02.2015 00:59)
- A что на асме сдвиг влево - не умножение на 2? - Apтём(26.02.2015 18:10)
- зависит от флага переноса или содержимого старшего бита в байте. - Лагунов(03.03.2015 05:57)
- Ну у вас и асм! Это называется циклический сдвиг. А бывают и не циклические, а также с битом переноса или без. Также арифметические и логические. Это где так мало сдвигов насыпали? авр? - SciFi(03.03.2015 07:26)
- Не надо на авр бочку катить - есть там такие сдвиги! - Apтём(03.03.2015 11:04)
- это в Zilog eZ8Encore. Там и арифметический, и циклический (как через перенос так и мимо него), и логический. До чего мне нравится система команд ядра eZ8Encore... - Лагунов(03.03.2015 08:11)
- Да. Когда работал с Zilog'ом, то система команд оставила самые приятные впечатления. Одни теневые регистры чего стоили. - Звероящер(03.03.2015 08:45)
- Ну у вас и асм! Это называется циклический сдвиг. А бывают и не циклические, а также с битом переноса или без. Также арифметические и логические. Это где так мало сдвигов насыпали? авр? - SciFi(03.03.2015 07:26)
- зависит от флага переноса или содержимого старшего бита в байте. - Лагунов(03.03.2015 05:57)
- С делением сдвигом сложнее. Там слева при сдвиге знакового отрицательного числа вылезает знак. Распространение знака называется. - Олдфаг(27.02.2015 00:57, )