OT: c: mismatched comparison

Pavel Hudeček edizon na seznam.cz
Pondělí Červenec 29 14:30:37 CEST 2024


V podobné situaci bych udělal spíš (uint8_t)1 aby to přetypování bylo 
hned v místě kde k němu vzniká důvod a ne to naopak napřed přetypovat 
špatně a pak o úroveň vejš opravovat:-)

PH

Dne 29.07.2024 v 14:22 Miroslav Draxal napsal(a):
>
> Dobře,  jak jsem psal, je možno (v programu není možno, je to 
> ošetřeno) přetéct z 0 do 255.
>
> Tak něnaj zapomínám, že C i když má uint8_t byt a od toho odečte 1u, 
> tak z toho může vzniknout uint16_t
>
> Tak holt
>
> if (RucneCisloSekce == (uint8_t) (CisloSekce - 1u)) {
>
>   NOP();
>
> }
>
> Míra
>
> *From:*Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of 
> *Pavel Hudeček
> *Sent:* Monday, July 29, 2024 1:41 PM
> *To:* hw-list na list.hw.cz
> *Subject:* Re: OT: c: mismatched comparison
>
> Výsledkem (CisloSekce - 1u) je něco uint16 a to něco může nabývat 
> hodnot nad 255.
>
> PH
>
> Dne 29.07.2024 v 13:23 Miroslav Draxal napsal(a):
>
>     Dobrý den ve spolek.
>
>     Už delší dobu si lámu hlavu nad tím, co se nelíbí překladači. Je
>     to tedy vyseparované z daleko složitější podmínky, ale tohle ten
>     problém způsobuje.
>
>     Microchip
>
>     XC8 ver.2.46
>
>     uint8_t RucneCisloSekce;
>
>     uint8_t CisloSekce;
>
>     if (RucneCisloSekce == (CisloSekce - 1u)) {
>
>       NOP();
>
>     }
>
>     Hlásí warning: (764) mismatched comparison
>
>     Což je
>
>     (764) mismatched comparison (Code Generator)
>
>     A comparison is being made between a variable or expression and a
>     constant value which is not in
>
>     the range of possible values for that expression, for example:
>
>     unsigned char c;
>
>     if(c > 300) /* oops -- how can this be true? */
>
>     close();
>
>     pokud odstraním -1, potom OK.
>
>     Ano, může to přetéct z 0x00 do 0xff, ale to není „mismatched
>     comparison“
>
>     ???
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240729/2a6b95ba/attachment-0001.htm>


Další informace o konferenci Hw-list