logica booleana bitwise

Salve a tutti vorrei sapere cosa implementa questa riga

(tab1[i] & 0x01) == 0x01 [color=red]? true : false[/color])

Grazie

Prima di tutto, nella sezione in lingua Inglese si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione ...

... poi, essendo questo il tuo primo post, nel rispetto del regolamento, ti chiedo di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Il tuo post è stato spostato nell'opportuna sezione del forum "Italiano"
P.P.S.: E quando riporti il codice, elimina i tag di attributi, come quelli del colore che hai riportato e che non hanno nulla a che vedere con quella comparazione.

( (tab1[i] & 0x01) == 0x01 ? true : false )

... questa è la sintassi giusta ed altro non è che l'applicazione dell'operatore ternario '?'.

In pratica prendi tab[ i ] applichi l'operatore bitwise AND con 0x01 ed il risultato lo compari con 0x01, se è vero il tutto ritorna true, se non è vero ritorna false.

L'esempio che hai riportato è comuque un esempio inutile, infatti, gia tab[ i ] & 0x01 ritorna un valore differente da 0, ovvero true, se l'AND ritorna 0x01 e ritorna il valore 0, ovvero false, se il risultato dell'AND è 0x00.

Guglielmo

Mille grazie Guglielmo e scusate per l'intervento senza presentazione.

alexnash:
Mille grazie Guglielmo e scusate per l'intervento senza presentazione.

... ok, ma ora ... presentati :wink:

Guglielmo