C: arithmetic overflow

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Únor 25 19:16:41 CET 2019


Nevim, no, chce to asi zkouset ruzne varianty - ne to prijde korektni. 
Ta konstanta bude unsigned int, negace taky, or s 8b jde a pak se to 
pretypuje a to by melo byt OK.
Zkusil bych mozna TRISA &= (uint8_t)(((~0b00001111u & 0xff)| 
shadowDataTris);

Dne 25.02.2019 v 19:10 tomas mainzer napsal(a):
> DD, mozna kvuli  0b00001111u  - to u na konci je unsigned (int), v 
> negaci pak zrejme mimo uint8 rozsah . T.
>
> po 25. 2. 2019 v 18:59 odesílatel Miroslav Draxal <evik na volny.cz 
> <mailto:evik na volny.cz>> napsal:
>
>     Dobrý den,
>
>     Znalý pánové, proč to stále hází to varování?
>
>     uint8_t shadowDataTris;
>
>     #define TRISA TRISA
>
>     extern volatile unsigned char           TRISA              
>     __at(0xF92);
>
>     TRISA &= (uint8_t)(~0b00001111u | shadowDataTris);
>
>     warning: (751) arithmetic overflow in constant expression
>
>     Míra
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list na list.hw.cz <mailto: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ší část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20190225/218acb3e/attachment.html>


Další informace o konferenci Hw-list