[an error occurred while processing this directive]
Вся фишка в том, что преобразование идет начиная со старших разрядов.Это классический алгоритм
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Bill 17 февраля 2005 г. 22:14
В ответ на: Фрунзенский код рулит!!!Тока почему сдвиг влево, этож умножение на 2, а я думал нада делить на 2. Антирестна! отправлено nikolaus 17 февраля 2005 г. 21:34

B - двоичное число, D - десятичное. По сути дела это одно и то же число, записанное в разных системах счисления. Поэтому
D = b15*2^15 + b14*2^14 + .... + b2*2^2 + b1*2 + b0
Здесь bi - разряды двоичного числа.
Для вычисления используется схем Горнера
D = ((((((((((b15*2 + b14)*2 + b13)*2 + b12)*2 + b11)*2 .... + b1)*2 + b0
Только нужно иметь в виду, что операция умножения на 2 производится по правилам ДЕСЯТИЧНОЙ арифметики.

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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

E-mail: info@telesys.ru