А Вы сами не думали? В книжках все правильно говорится. Арифметический сдвиг
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 20 сентября 2004 г. 10:15
В ответ на: Результат будет -1 :))) Но так в книжках по цифровой технике говорится почему-то. отправлено POV 20 сентября 2004 г. 09:48

потому и назван так, что знак операнда после сдвига сохраняется. Это равносильно делению числа со знаком на 2. Только это справедливо до определенного предела.
Опять же, если Вы решите использовать числа с фиксированной запятой, при фиксации ее после СТАРШЕГО разряда (числа дробные, меньше 1), то тогда сдвиг скорее всего корректно заменит операции деления во всех случаях, только в случае числа 0xFF (-1 если целое), сдвиг не изменит результата, что будет свидетельствовать только о том, что меньшее дробное число (большее по модулю) уже не может быть представлено в данной разрядной сетке, потребуется увеличить разрядность числа, char->int->long (целочисленные эквивалентные типы данных).

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru