Do you have a question? Post it now! No Registration Necessary
- Alexey V Bugrov
December 25, 2004, 9:39 pm

Hi Boris, hope you are having a nice day!
22 Дек 04, Boris Belyakov wrote to All:
BB> сейчас сделано так, что первому слагаемому (которое равно 0.5) условно
BB> соответствует число 50000..., которое в последующих итерациях делится
BB> пополам. Всё это суммируется, а потом делается bin -> bcd до нужного
BB> знака. Верю, что это не есть совершенство :-) Ведь делал же кто то
BB> свой float _to_ string вместо printf ...
А что мешает сделать сначала умножение числа на 10^n, затем конвертнуть в целое
(с округлением или без), а затем уже
как обычно bin to bcd?
WBR,
AVB
22 Дек 04, Boris Belyakov wrote to All:
BB> сейчас сделано так, что первому слагаемому (которое равно 0.5) условно
BB> соответствует число 50000..., которое в последующих итерациях делится
BB> пополам. Всё это суммируется, а потом делается bin -> bcd до нужного
BB> знака. Верю, что это не есть совершенство :-) Ведь делал же кто то
BB> свой float _to_ string вместо printf ...
А что мешает сделать сначала умножение числа на 10^n, затем конвертнуть в целое
(с округлением или без), а затем уже
как обычно bin to bcd?
WBR,
AVB

Re: про float
Hello Alexey.
Воскресенье, Декабрь, 26, 2004 00:39:22, Alexey V Bugrov wrote to Boris
Belyakov:
BB>> сейчас сделано так, что первому слагаемому (которое равно 0.5) условно
BB>> соответствует число 50000..., которое в последующих итерациях делится
BB>> пополам. Всё это суммируется, а потом делается bin -> bcd до нужного
BB>> знака. Верю, что это не есть совершенство :-) Ведь делал же кто то
BB>> свой float _to_ string вместо printf ...
AVB> А что мешает сделать сначала умножение числа на 10^n, затем конвертнуть в
AVB> целое (с округлением или без), а затем уже как обычно bin to bcd?
Да нет, Алексей, ничего не мешает, просто хотелось узнать нет ли алгоритма
отличного от представленного. Верю что есть...
Boris
... Hаука не пиво - в pот не вольешь
Воскресенье, Декабрь, 26, 2004 00:39:22, Alexey V Bugrov wrote to Boris
Belyakov:
BB>> сейчас сделано так, что первому слагаемому (которое равно 0.5) условно
BB>> соответствует число 50000..., которое в последующих итерациях делится
BB>> пополам. Всё это суммируется, а потом делается bin -> bcd до нужного
BB>> знака. Верю, что это не есть совершенство :-) Ведь делал же кто то
BB>> свой float _to_ string вместо printf ...
AVB> А что мешает сделать сначала умножение числа на 10^n, затем конвертнуть в
AVB> целое (с округлением или без), а затем уже как обычно bin to bcd?
Да нет, Алексей, ничего не мешает, просто хотелось узнать нет ли алгоритма
отличного от представленного. Верю что есть...
Boris
... Hаука не пиво - в pот не вольешь

Re: про float
Hello, Boris!
You wrote to Alexey V Bugrov on Tue, 28 Dec 2004 13:45:30 +0500:
BB> Hello Alexey.
BB> Воскресенье, Декабрь, 26, 2004 00:39:22, Alexey V Bugrov wrote to Boris
BB> Belyakov:
BB>>> сейчас сделано так, что первому слагаемому (которое равно 0.5)
BB>>> условно соответствует число 50000..., которое в последующих итерациях
BB>>> делится пополам. Всё это суммируется, а потом делается bin -> bcd до
BB>>> нужного знака. Верю, что это не есть совершенство :-) Ведь делал же
BB>>> кто то свой float _to_ string вместо printf ...
AVB>> А что мешает сделать сначала умножение числа на 10^n, затем
AVB>> конвертнуть в целое (с округлением или без), а затем уже как обычно
AVB>> bin to bcd?
BB> Да нет, Алексей, ничего не мешает, просто хотелось узнать нет ли
BB> алгоритма отличного от представленного. Верю что есть...
Во первых, на atmel.ru http://www.atmel.ru/Articles/Atmel13.htm есть
статейка с готовым кодом преобразования float -> bcd.
Я в ней сильно не разбирался, может там то же про что ты пишешь.
Поинтресуйся, может найдешь что для себя интересное.
Я же сделал преобразование double -> bcd по методу, предложенному AVB. Мне
этот метод понравился быстротой и простотой.
Только я не умножал double на 10^n напрямую - это долго. Я n раз умножал
double на 10. А на 10 я умножал так: double*8 + double*2.
То есть фактически инкрементировал порядок на 3 и на 1 соответственно.
Быстрее получается.
Округлял я уже готовое BCD.
With best regards, Dmitry Gromov. E-mail: snipped-for-privacy@deletethis.newmail.ru
You wrote to Alexey V Bugrov on Tue, 28 Dec 2004 13:45:30 +0500:
BB> Hello Alexey.
BB> Воскресенье, Декабрь, 26, 2004 00:39:22, Alexey V Bugrov wrote to Boris
BB> Belyakov:
BB>>> сейчас сделано так, что первому слагаемому (которое равно 0.5)
BB>>> условно соответствует число 50000..., которое в последующих итерациях
BB>>> делится пополам. Всё это суммируется, а потом делается bin -> bcd до
BB>>> нужного знака. Верю, что это не есть совершенство :-) Ведь делал же
BB>>> кто то свой float _to_ string вместо printf ...
AVB>> А что мешает сделать сначала умножение числа на 10^n, затем
AVB>> конвертнуть в целое (с округлением или без), а затем уже как обычно
AVB>> bin to bcd?
BB> Да нет, Алексей, ничего не мешает, просто хотелось узнать нет ли
BB> алгоритма отличного от представленного. Верю что есть...
Во первых, на atmel.ru http://www.atmel.ru/Articles/Atmel13.htm есть
статейка с готовым кодом преобразования float -> bcd.
Я в ней сильно не разбирался, может там то же про что ты пишешь.
Поинтресуйся, может найдешь что для себя интересное.
Я же сделал преобразование double -> bcd по методу, предложенному AVB. Мне
этот метод понравился быстротой и простотой.
Только я не умножал double на 10^n напрямую - это долго. Я n раз умножал
double на 10. А на 10 я умножал так: double*8 + double*2.
То есть фактически инкрементировал порядок на 3 и на 1 соответственно.
Быстрее получается.
Округлял я уже готовое BCD.
With best regards, Dmitry Gromov. E-mail: snipped-for-privacy@deletethis.newmail.ru
Site Timeline
- » Приемник USART в PIC18F452
- — Next thread in » Microcontrollers (Russian)
-
- » Передача данный на сверх-малые расстояния
- — Previous thread in » Microcontrollers (Russian)
-
- » По моему это гениально
- — Newest thread in » Microcontrollers (Russian)
-
- » Suche nach Steckverbindung?
- — The site's Newest Thread. Posted in » Electronics (German)
-
- » (PDF) Illustrated Anatomy of the Head and Neck 5th Edition by Fehrenbach
- — The site's Last Updated Thread. Posted in » Electronics (Polish)
-