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