Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Operatori del c

0 views
Skip to first unread message

Alberto Salvati

unread,
Sep 20, 2002, 5:26:48 AM9/20/02
to
Salve.
Qualcuno che conosce un po di linguaggio c mi sa dire cosa fanno queste 2
righe:

pSend[18]=(BYTE)((Prezzo&0xff000000)>>24);

AA|BB

dove prezzo, aa e bb sono DWord

Scusate la domanda idiota ma in c mi perdo..

Penso che la prima sia un shift di bit e la seconda un operatore logico..
Sto dicendo ca##ate?

Tnx

A


Fabio Cillo

unread,
Sep 20, 2002, 5:41:14 AM9/20/02
to

"Alberto Salvati" <x@x.x from office> ha scritto nel messaggio
news:amepuf$2b4m$1...@newsreader1.mclink.it...

> Salve.
> Qualcuno che conosce un po di linguaggio c mi sa dire cosa fanno queste 2
> righe:
>
> pSend[18]=(BYTE)((Prezzo&0xff000000)>>24);

Sta semplicemente prendendo il byte all'interno della varibile Prezzo
corrispondende alla posizione delle due "ff" che trovi nel numero
esadecimale FF000000.

In Delphi si scrive:

pSend[18]:=byte((Prezzo and $FF000000) shr 24);

Lo shift a destra di 24 toglie le 6 cifre decimali messe dall'operatore AND
a 0.

Ciao,
Fabio

Andrea Laforgia

unread,
Sep 20, 2002, 5:45:14 AM9/20/02
to
Il 20 Set 2002, 11:26, "Alberto Salvati" <x@x.x from office> ha scritto:

> pSend[18]=(BYTE)((Prezzo&0xff000000)>>24);

pSend[18] := (Prezzo and $FF000000) shr 24;

> AA|BB

AA or BB

> dove prezzo, aa e bb sono DWord

Tieni presente che in Delphi, al contrario del C, non c'e' differenza
sintattica tra operatori logici e operatori bit a bit.

--------------------------------
Inviato via http://usenet.libero.it

Alberto Salvati

unread,
Sep 20, 2002, 5:44:04 AM9/20/02
to
10^n tnx

Un sogno nelcassetto è lavorare in c++.
Se in questi anni me ne avessero lasciato il tempo...

Bye

A.


0 new messages