konverze typu XC32

Miroslav Mraz mrazik na volny.cz
Sobota Březen 19 21:16:29 CET 2022


Všimněte si, že 84542584 je 0x050A0478 a tedy spodní 2 byte souhlasí. 
Kde se tam vezme to 0x050A navrchu je otázka. Zkusil bych něco jako
static_assert (sizeof (WORD) == 2, "error") C++ compile-time nebo v 
čistém C-čku assert (sizeof (WORD) == 2) runtime a podle toho zkoušel 
dál. XC32 neznám.

Mrazík

Dne 19. 03. 22 v 20:18 Libor Konečný napsal(a):
> Zdravim fachmany na C pod XC32.
> 
> Resim problem, ktery se mi zda jednoduchy, ale vysledkem je nesmyslna 
> hodnota.
> 
> 
> mam
> 
> WORD a;
> 
> float tf;
> 
> hlavni program
> 
> a=0x0478;  coz je dec 1144 (ale ta hodnota se meni v case, tady je fixni 
> jen pro naz)
> 
> tf=(float)a;
> 
> tak vysledkem print je 84542584.0
> 
> kdyz tam dam natvrdo tf=1144; pak mi to pri tisku vrati spravne 1144.0
> 
> Nechapu
> 
> Muze mi nekdo prosim poradit jak se to ma spravne pretypovat, aby mi 
> print tiskl  spravnou hodnotu 1144.0?
> 
> Dekuji moc
> 
> Libor


Další informace o konferenci Hw-list