Round float24

Andrej Jancura aj.hwlist na gmail.com
Středa Únor 13 14:44:39 CET 2013


takze to doplnim, floor a ceil....

A.


2013/2/13 Andrej Jancura <aj.hwlist na gmail.com>:
> Dobry den,
>
> takze problem je v reprezentacii cisiel v pamati. 127,67383 a
> 127.67000. 12767000 sa da dostat presne len v type int, resp. long
> int. Z cisla 127,67383 sa k tomu da dopracovat tak, ze pouzijete
> funkciu ceil() a este nejaka podobna. Jedna Vam vrati celu cast float
> a druha desatinne miesta. Potom to treba uz len dorobit tak ako to
> potrebujete. Round na to asi nebude vhodna cesta. Su to standartne
> funkcie math.h, takze pozrite do zdrojakov. Ja si to uz presne
> nepamatam, takze to tak nemusi byt, ale pozrite si math.h. Okrem toho
> microchip mal svojho casu app. note s matematickymi rutinami pre pic,
> v nazve math. routines in ieee754 ci cosi take. Tam by mohlo byt tiez
> nieco k danej teme.
>
> A.
>
> 2013/2/13 Hfmcons <hfmcons na gmail.com>:
>> Zdravím,
>> potřeboval bych v XC8 nebo Hi-Tech zaokrouhlit float24
>> číslo(proměnnou) 127,67383 na 127,67000. A´t dělám co dělám, výsledkem
>> je vždy nějaká modifikace původního čísla(na všech pozicích za
>> desetinnoum tečkou jsou nějaké hodnoty). Zkoušel jsem kde co i
>> konverze round(float) pak do int a zpět do float atd. Co jsem tak
>> ještě nezkoušel je modf(), protože na malých MCU jsou operace s FP
>> zbytečným plýtváním a tak potřebné radši přepisuju do celých čísel.
>> Přesto by mně zajímalo, proč to zaokruhlení nefunguje. Manuály k oběma
>> kompilérům žádné omezení, pokud jsem něco nepřehlédl, při práci s
>> float24 nepopisují. Vidím to na nějaké přehlédnutí některé vlastnosti,
>> ale nedaří se mi k tomu nic dohledat, byl by někdo ochotný tohle
>> objasnit?
>> S pozdravem,
>> Miloš Dašek
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list