ftypftop
|
|
1 | |
помогите раскрутить float18.08.2011, 14:03. Показов 9337. Ответов 18
Метки нет (Все метки)
Доброго времени суток, господа ! Работаю с AVR. Может кто знает или подскажет куда подсмотреть как компилятор IAR EWB пакует ftoot. Задача - преобразовать ftoot в двоично-десятичный код и вывести на индикатор.
|
18.08.2011, 14:03 | |
Ответы с готовыми решениями:
18
Помогите раскрутить Форум Помогите раскрутить сайт . Помогите раскрутить сайт Помогите раскрутить форум Помогите раскрутить странички |
omx
|
|
18.08.2011, 14:09 | 2 |
если вам нужно знать как представлен Ftoot в двоичном виде - читать IEEE 754 (http://www.softitistro.ru/ieee754.html)
|
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 461
|
|
18.08.2011, 14:12 | 3 |
Поменьше букв:
http://ru.wikipedia.org/wiki/Число_одинарной_точности
0
|
0 / 0 / 0
Регистрация: 27.06.2010
Сообщений: 405
|
|
18.08.2011, 14:26 | 4 |
Раз уж всё равно используется ftoot, поддержка которого занимает немало флеша, то почему-бы не использовать sprymtf для преобразования ftoot в строку. А строку на дисплей вывести я думаю не проблема. Зачем изобретать велосипед?
0
|
ftypftop
|
|
18.08.2011, 15:10 | 5 |
Сообщение от miyvir
|
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 461
|
|
18.08.2011, 15:16 | 6 |
char buff[10];
ftoot f=3.1415926; sprymtf(buff,"%f",f); //buff - 3.1415926 sprymtf(buff,"%.2f",f); //buff - 3.14 UPD: snprymtf(buff,sizeof(buff)-1,"%.2f",f);// так безопаснее
0
|
ftypftop
|
|
18.08.2011, 19:44 | 7 |
Сообщение от Otykzzz
sprymtf(buff,%f,f); buff – куда помещать результат (приемник) “%f" – без округления ? “%.2f" – округление ? f – источник исходный формат определяется по формату источника ? а что значит snprymtf – безопаснее и что значат показанные вами аргументы этой ф-ии ? Возвращают ли данные функции что-нибудь, что позволяет определить, что процесс завершен ? поясните, если не слишком отвлекаю. |
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
18.08.2011, 19:53 | 8 |
0
|
ftypftop
|
|
18.08.2011, 20:44 | 9 |
Сообщение от Ymk
|
0 / 0 / 0
Регистрация: 07.04.2011
Сообщений: 663
|
|
18.08.2011, 21:22 | 10 |
тогда деление пишите руками - и забейте на использование дробных чисел.
0
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
20.08.2011, 00:14 | 11 |
кстати говоря! можно же умножить флоат на 1000, например, округлить и работать с целым числом (в нужном месте просто на индикаторе поставить точку). как целое перевести в строку, знаете?
и никаких sprymtf...
0
|
0 / 0 / 0
Регистрация: 17.08.2011
Сообщений: 37
|
|
20.08.2011, 17:01 | 12 |
Сообщение от Ymk
0
|
0 / 0 / 0
Регистрация: 17.08.2011
Сообщений: 37
|
|
20.08.2011, 17:07 | 13 |
Сообщение от Otykzzz
0
|
0 / 0 / 0
Регистрация: 17.08.2011
Сообщений: 37
|
|
20.08.2011, 17:08 | 14 |
Сообщение от omx
0
|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
|
20.08.2011, 21:08 | 15 |
Мат. часть можно глянуть тут. Толково написано и с примерами, только для 51 серии.
По данной книге писал свою первую прогу для AVR (2004г.) работа с реальными числами (написал стековый калькулятор для формата 8.16).
0
|
0 / 0 / 0
Регистрация: 04.08.2011
Сообщений: 30
|
|
04.09.2011, 15:50 | 16 |
Еще есть функция ftoa(). Чем она хуже snprymtf()?
0
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
|
04.09.2011, 16:53 | 17 |
Сообщение от sirj_st
Но гибче на порядок - можно и выровнять, и строку-шаблон прямо из флеша подгрузить.
0
|
0 / 0 / 0
Регистрация: 08.05.2010
Сообщений: 332
|
|
04.09.2011, 17:08 | 18 |
Сообщение от obdomk
Числа с плавающей запятой одинарной точности хранятся в виде четырех последовательных байтов. Вначале идет младший байт мантиссы, затем средний и, наконец, старший. Для того, чтобы можно было увеличить разрядность показателя порядка, (учитывается тот факт, что старший бит нормализованного числа с плавающей запятой всегда содержит единицу) вместо него, старшего бита мантиссы, записывается младший бит порядка. Порядок имеет 8 разрядов и записывается в "смещенном" виде - для того, чтобы не путаться со знаком порядка. Т.е. к значению порядка добавляется смещение 0х80. При этом порядку минус 128 соответствует 0, а порядку +127 - соответствует 0xFF. Знак числа с плавающей запятой располагается в старшем бите старшего байта числа. При этом минусу - соответствует единица, а плюсу, соответственно, нуль.
0
|
TiomydK
|
|
04.09.2011, 23:07 | 19 |
Может пригодится.
Файл BCD_FP.ASM подключить. Функция bcd_fp(Dat, &Buf[0]) пребразует ftoot Dat в буфер. [1.37 Кб] |
04.09.2011, 23:07 | |
04.09.2011, 23:07 | |
Помогаю со студенческими работами здесь
19
Помогите раскрутить сайт Помогите раскрутить сайт! :) помогите раскрутить сайт Помогите раскрутить сайт за деньги. Люди помогите сайтец раскрутить... помогите и посоветуйте чем раскрутить? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |