Отправляет email-рассылки с помощью сервиса Sendsay

Задача

При разработке вечного двигателя возникла следующая задача:

Есть два хитро-представленных числа с дробной частью, размером с байт, и
нужно их перемножить в микроконтроллере без аппаратного перемножителя за
минимальное время.

Числа выглядят так:

старшие четыре бита этого байта - это целая часть, младшие 4 бита-
дробная часть (количество 1/16-х).

0 = 0000 0000 (в двоичном представлении),
1 = 0001 0000,
2 = 0010 0000,
1.5 = 0001 1000 (то есть, 1.5+1.5=3, то есть 0011 0000).

Это же числа могут быть представлены в двухбайтном виде (старший байт -
целая часть, младший - дробная, то есть 1= 0000 0001, 0000 0000), не
важно. Важно то, что если 1 * 1, то это должно быть 1, а 2 * 2 = 4
соответственно, 1 * 1.5 = 1.5, 2 * 1.5 = 3 и т.п. Это коэффициенты
скорости, которые нужно перемножить. Что посоветуете? Тупо перемножать
два байта в таком представлении, а потомделить на 16 (сдвигать 4 раза),
или может есть более изящное решение?

Ответить   Thu, 26 May 2005 22:46:36 +0300 (#374326)

 

Ответы:

Hello Serge,

Thursday, May 26, 2005, 10:46:36 PM, you wrote:

Я отвечу с точки зрения медицины. Возьми побольше нейростимулятора ( в
твоём случае пиво)и тогда прогноз будет благоприятный

Ответить   Fri, 27 May 2005 19:30:24 +0300 (#374788)

 

В сообщении от 27.05.2005 19:30 dr. Andrew Tyagniryadko пишет:

Народ, пользуясь случаем можете проконсультироваться у присутствующего
здесь доктора-невропатолога, ведь здоровых людей не бывает, бывают не
обследованные.

Для тех, кто не разбирается, невропатология - это не психиатрия и не
психология. Невропатология, как я понимаю, это когда ногу тянет, бок
немеет, в боку колет, спину не разогнуть и тому подобное. Хотя эти же
симптомы могут свидетельствовать и о проблемах с сердцем, пищеварением
или о травмах.

Ответить   Fri, 27 May 2005 23:40:01 +0300 (#374905)