konverze typu XC32
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Sobota Březen 19 21:27:31 CET 2022
IMHO chyba prekladace, a to je asi placenej, ne?
Dne 19.03.2022 v 21:24 Libor Konečný napsal(a):
> Kde se to tam vezme to taky nechapu.
>
> sizeof WORD je 2.
>
> vyresil jsem to salamounsky.
>
> pretypoval jsem na DWORD a provedl & 0xFFFF a uz to funguje korektne.
>
> LK
>
>
> Dne 19.03.2022 v 21:16 Miroslav Mraz napsal(a):
>> 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
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> 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