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