PROGRAMMA ESEMPIO OPERATORI BITWISE

Di seguito viene mostrato un programma d’esempio dell’utilizzo degli operatori bitwise con il linguaggio C#

//operatore AND
int a = 74;
int b = 174;
int c = a & b;
this.RichTextBox.Text = "a vale " + a + ", b vale " + b + ", c, ottenuto con l'operatore AND vale " + c + Environment.NewLine;
this.RichTextBox.AppendText("in linguaggio binario si ha " + Convert.ToString(a,2) + " & " + Convert.ToString(b,2) + " = " + Convert.ToString(c,2) + Environment.NewLine + Environment.NewLine);

//operatore OR
int a = 74;
int b = 174;
int c = a | b;
this.RichTextBox.AppendText("a vale " + a + ", b vale " + b + ", c, ottenuto con l'operatore OR vale " + c + Environment.NewLine);
this.RichTextBox.AppendText("in linguaggio binario si ha " + Convert.ToString(a,2) + " | " + Convert.ToString(b,2) + " = " + Convert.ToString(c,2) + Environment.NewLine + Environment.NewLine);

//operatore XOR
int a = 74;
int b = 174;
int c = a ^ b;
this.RichTextBox.AppendText("a vale " + a + ", b vale " + b + ", c, ottenuto con l'operatore XOR vale " + c + Environment.NewLine);
this.RichTextBox.AppendText("in linguaggio binario si ha " + Convert.ToString(a,2) + " ^ " + Convert.ToString(b,2) + " = " + Convert.ToString(c,2) + Environment.NewLine + Environment.NewLine);

//operatore NOT
int a = 74;
int b = ~a;
this.RichTextBox.AppendText("a vale " + a + ", b vale, ottenuto con l'operatore NOT, " + b + Environment.NewLine);
this.RichTextBox.AppendText("in linguaggio binario si ha " + "~" + Convert.ToString(a,2) + " = " + Convert.ToString(b,2) + Environment.NewLine + Environment.NewLine);

//operatore SHIFT a destra
int a =74;
int b = a<<2;
this.RichTextBox.AppendText("a vale " + a + ", b vale, ottenuto con l'operatore SHIFT a sinistra di 2 posizioni, " + b + Environment.NewLine);
this.RichTextBox.AppendText("in linguaggio binario si ha " + Convert.ToString(a,2) + " <<2 = " + Convert.ToString(b,2) + Environment.NewLine + Environment.NewLine);

//operatore SHIFT a sinistra
int a =74;
int b = a>>2;
this.RichTextBox.AppendText("a vale " + a + ", b vale, ottenuto con l'operatore SHIFT a destra di 2 posizioni, " + b + Environment.NewLine);
this.RichTextBox.AppendText("in linguaggio binario si ha " + Convert.ToString(a,2) + " >>2 = " + Convert.ToString(b,2) + Environment.NewLine + Environment.NewLine);

L’output del programma invece sarà il seguente:

a vale 74, b vale 174, c, ottenuto con l'operatore AND vale 10
in linguaggio binario si ha 01001010 & 10101110 = 00001010

a vale 74, b vale 174, c, ottenuto con l'operatore OR vale 238
in linguaggio binario si ha 01001010 | 10101110 = 11101110

a vale 74, b vale 174, c, ottenuto con l'operatore XOR vale 228
in linguaggio binario si ha 01001010 ^ 10101110 = 11100100

a vale 74, b vale, ottenuto con l'operatore NOT, 181
in linguaggio binario si ha ~01001010 = 10110101

a vale 74, b vale, ottenuto con l'operatore SHIFT a sinistra di due posizioni, 40
in linguaggio binario si ha 01001010<<2 = 00101000

a vale 74, b vale, ottenuto con l'operatore SHIFT a destra di due posizioni, 18
in linguaggio binario si ha 01001010>>2 = 00010010

Lascia un commento

Progetta un sito come questo con WordPress.com
Comincia ora