|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 782
|
[C++]Chi mi aiuta con questa sintassi?
Non riesco a capire come leggere la seguente sintassi:
buffer[6] = ( 0 )&0xff; Cioè in buffer[6] viene messo l'and logico tra 0 e ff in esadecimale....ma non fà zero? Perchè poi lo zero è tra parentesi, fa un qualche strano cast?
__________________
HP DV6-6170sl - Play 4 - PSVITA - Oneplus One |
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Il singolo "ampersand" (&) non è l'and logico (l'and logico boolean è il doppio ampersand &&) ma è l'operatore bitwise AND.
Quote:
Quote:
No, nessun cast, credo che le parentesi lì vengano interpretate dal parser come operatori di precedenza. Il perchè siano lì, forse solo l'autore del codice lo sa. Propendo fortemente per una questione di "gusto" personale se proprio devo trovare una ragione logica, altrimenti per un qualsiasi motivo illogico. Spezzone di codice tratto da un contest di obfuscated C code?
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
||
|
|
|
|
|
#3 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16212
|
Sembra quasi un modo di evitare effetti collaterali nella scrittura del valore zero in buffer[6], il quale probabilmente è un char.
Ma allora, non sarebbe stato meno contorto inizializzarlo a '\0'?
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 782
|
Si prepara un pacchetto TS (transport stream) da inviare tramite rete. Prima viene costruito l'header e poi su tutti i byte rimantenti del pacchetto viene effettuata quest'operazione (che da quel che ho capito è una sorta di strana inizializzazione a 0) tranne che sugli ultimi due che diventano:
p_ts->p_buffer[10]= ( ( 0 )&0x80 ) | 0x7e; p_ts->p_buffer[11]= 0; Il codice è tratto niente di meno che da VLC, ergo i programmatori dovrebbero essere con i controc...i ed avranno la loro buona ragione....che non conosco
__________________
HP DV6-6170sl - Play 4 - PSVITA - Oneplus One |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Magari uno scopo c'è. Bisognerebbe capire se la presenza di "codice apparentemente superfluo" è importante: a) di per se', cioè per avere proprio a livello di sorgente il codice siffatto; oppure b) per quello che fa, (le operazioni al di là del risultato?) Boh, senza sapere altro è da pippe mentali
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Si vede che siete dei niubbi e che non ne capite niente: questo è un evidente esempio dell'arcinota qualità del codice dei progetti open source.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ma vaffa...
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 782
|
__________________
HP DV6-6170sl - Play 4 - PSVITA - Oneplus One |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:18.




















