Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IEEE754 для AVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Irridium
Подскажите примерчик для конвертации чисел из ASCII в Float (4 байта) IEEE754. Пишу проги на ассемблере, потому и примерчик желательно на нем же...
demiurg_spb
Переводите сначала в целые числа, а далее на сайт atmel.ru - там есть пример на asm.
Останется лишь децимальную точку в нужном разряде установить.
Irridium
Цитата(demiurg_spb @ Nov 1 2008, 18:16) *
Переводите сначала в целые числа, а далее на сайт atmel.ru - там есть пример на asm.
Останется лишь децимальную точку в нужном разряде установить.


Да ASCII в целое число не проблема конвертнуть, а вот в стандартный формат IEEE754 (Real 4 Byte)
посложнее будет. Там 1й бит (4 байтного числа) - знак (+/-), 2й-9й - экспонента числа, остальные биты - мантисса.
ukpyr
Цитата
Там 1й бит (4 байтного числа) - знак (+/-), 2й-9й - экспонента числа, остальные биты - мантисса.

ну вот и выделяйте сдвигами/маскированием все эти биты и оперируйте уже с целыми числами, в чем проблема ?
man with no name
Логарифм по основанию 2 - экспонента числа, число с точкой перед первой значащей цифрой (единицей) - мантисса.

Точно не помню, но вроде бы первая единица мантиссы не хранится, т.к. она всегда - единица.
Арташес
Цитата(Irridium @ Nov 1 2008, 19:58) *
Подскажите примерчик для конвертации чисел из ASCII в Float (4 байта) IEEE754. Пишу проги на ассемблере, потому и примерчик желательно на нем же...

Посмотрите, вдруг поможет: String To Float
-JonnS-
Может Вам нужно такое преобразование? Если да, могу поделитася кодом, правда PIC16 asm.
Irridium
Цитата(-JonnS- @ Nov 2 2008, 14:45) *
Может Вам нужно такое преобразование? Если да, могу поделитася кодом, правда PIC16 asm.

В том то и дело что нужен формат стандарта IEEE754, а не фиксир. точка...

Цитата
ну вот и выделяйте сдвигами/маскированием все эти биты и оперируйте уже с целыми числами, в чем проблема ?

Проблема в том, что я не знаю как можно сдвигать строку ASCII...

Цитата
Посмотрите, вдруг поможет: String To Float

Спасибо за примерчик, хоть это и под Win, но попробую разобраться.
ukpyr
Цитата
Проблема в том, что я не знаю как можно сдвигать строку ASCII...
нужно выделить из строки знак/экспоненту/знак мантиссы/мантиссу, преобразовать экспоненту/мантиссу acsi -> bin, упаковать в float.
найти готовое решение тоже не проблема :
http://www.google.com.ua/search?q=ascii+to...lient=firefox-a
Irridium
Спасибо, буду разбираться...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.