<div dir="ltr"><div>Já jsem nakonec zůstal u toho postupného posunu o 8 bitů.  Posun o 24 , 16 a 8 bitů sice funguje, ale překladač  hlásí warningy.  </div><div>Díky všem za produktivní diskusi, dost jsem se zase dozvěděl.   C++ programátor ze mne už opravdu nebude. </div><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Zdravi<br>Jirka Sloupenský  OK1MWW</div></div><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">út 17. 12. 2024 v 16:28 odesílatel Jan Waclawek <<a href="mailto:konfera@efton.sk">konfera@efton.sk</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Co je to "spravne"?<br>
<br>
Z pohladu "funkcnosti" to je "spravne". C99 6.4.4.1 Integer constants<br>
hovori, ze typ konstanty je dany prvym typom z nasledovnej tabulky, do<br>
ktorej konstanta "vojde". A tabulka pre sestnastkovu konstantu je:<br>
int<br>
unsigned int<br>
long int<br>
unsigned long int<br>
long long int<br>
unsigned long long int<br>
<br>
No a v avr-gcc prvym typom z tabulky do ktoreho vojde 0xFFEF1000 je<br>
unsigned long int (= uint32_t pre pripad toho avr-gcc).<br>
<br>
A tiez je to "spravne", lebo je to priame priradenie (no dobre,<br>
inicializator, ale funguje ako priradenie), t.j. nie je to vyraz a<br>
prebehne tam len pomerne priamociara konverzia.<br>
<br>
Z metodickeho pohladu to nie je "spravne", lebo je lahke sa pomylit (a<br>
zabudnut na ten suffix ked je ta konstanta pouzita vo vyraze, kde<br>
konverzie sposobia necakany vysledok, alebo kebyze ma najvyssi bit nulovy<br>
cim sa stane znamienkova a je pouzita v nejakom vyraze kde ta<br>
znamienkovost zmeni vysledok), a preto je lepsie ten suffix vzdy<br>
explicitne napisat.<br>
<br>
wek<br>
<br>
<br>
----- Original Message ---------------<br>
<br>
>[preposielam]<br>
><br>
>Ahoj,<br>
><br>
>myslim, ze nie, pretoze definujem vsetky 4 byty premennej. Potrebne by to<br>
>bolo, keby som definoval len 1, 2 alebo 3 byty. Ale isty som si moc nie.<br>
>A.<br>
>>>><br>
><br>
>neměl by ten zápis správně být jako<br>
>unsigned long int Delay=0xFFEF1000ul;   ?<br>
><br>
>MB<br>
><br>
<br>
_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>