Pretypovani promene

Michal Grunt michal.grunt na vynet.cz
Středa Prosinec 29 21:42:53 CET 2010


Zdravim,
Potreboval bych poradit ohledne pretypovani promene. Zkousel jsem vsechno mozne, ale nedari se (WinAVR, atmega32).

Mam nasledujici vzorec, kde vysledek je ve tvaru unsigned long:

(unsigned long)((float)twPLL*(float)32.768*(float)0.25-225)

To je v poradku, vrati se mi cislo 87500-108000 (radiova FM frekvence v Khz).

Ale potrebuji z toho udelat "Mhz", tedy deleno 1000 a toto koreknte vypsat. Tedy

printf("%.1f Mhz",frekvence);

Pricemz frekvence je deklarovana:

double frekvence;

Ze zoufalosti uz jsem zkousel jsem ruzne pokusy, ale bud se mi ukaze nesmyslny udaj nebo nic...

frekvence=(double)((unsigned long)((float)twPLL*(float)32.768*(float)0.25-225))/1000);
frekvence=(double)((unsigned long)((float)twPLL*(float)32.768*(float)0.25-225))/(double)1000);
frekvence=(double)((unsigned long)((float)twPLL*(float)32.768*(float)0.25-225))/(double)1000.0);

Jak na to?

Diky
Michal Grunt
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20101229/bdc224fa/attachment.htm>


Další informace o konferenci Hw-list