вопрос Сишникам: как получить саршую часть произведения при умножении
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено 3m 08 января 2005 г. 20:05

проблемы с получением результата после умножения, компилятор IAR 3.20 для MSP430
код такой


int a
...
result = a * 27534;

хочется получить старшие 16 бит результата умножения.
если result имеет тип int - плучаю младшие 16 бит, если написать (a * 27534) >> 16 - получается вообще какая-то фигня,
если result имеет тип long - вроде все честно, но после result >> 16 опять бред на выходе (и в сгенеренном коде).

Смотрел код - для умножения вызывется подпрограмма ?Mul16 она на выходе дает правильный результат в R12-R13, но средствами C вытащить то, что в R13 у меня сходу не получилось

Ау, сишники... как честно средствами C вытащить старшую часть произедения???


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

Ответы



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

E-mail: info@telesys.ru