c:

Milan Kratochvíl krata.milan na seznam.cz
Neděle Červenec 9 12:34:23 CEST 2017


A jen tak pro zajímavost co vyhodí na

volatile unsigned char y = 0xfe & (unsigned char) 0x0111;

Milan

Dne 9.7.2017 v 12:00 Miroslav Draxal napsal(a):
> Na
> volatile unsigned char y = (unsigned char) 0x0111 & 0xfe;
>
> vyhodí taky varování.
> Optám se Microchipu.
> Míra
>
> -----Original Message-----
> From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Jan Waclawek
> Sent: Sunday, July 09, 2017 11:54 AM
> To: HW-news
> Subject: Re: c:
>
>>> Kompilator sa snazi naznacit, ze sa chystate natlacit okruhlu
>>> skladacku do otvoru pre stvorcovu skladacku
>> No ale ved to & 0xFF je prave ta potrebna kvadratura kruhu, ci?
>
> Aha az teraz mi to doslo - ten kompilator varuje *prave* na *explicitnu*
> kvadraduru, nie na nasledne tlacenie do otvoru!
>
> Tak to je IMO chore a aj ked si moze prekladac varovat na co chce, toto
> podla mna odporuje to pravidlam/duchu C99.
>
> V pripade (0x111 & 0xFF) to odporuje duchu pravidiel o typovani konstant a
> pravidiel binarnych operacii - oba operandy toho & su signed int a pri & z
> principu nemoze dojst k preteceniu. IMO pri zjednodusovani stromu to & 0xFF
> interne skonvertuje na pretypovanie. Skuste len tak kvoli zabave
> 0x111 & 0xFE.
>
> A v pripade explicitneho pretypovania je prave ta explicitnost toho
> pretypovania vyrazom vole programatora tu kvadraturu urobit, na toto nie je
> ziadny dovod varovat, to je uplna sprostost.
>
> Moje dva eurocenty.
>
> wek
>
> _______________________________________________
> 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