Operazioni sui bit.

// ====== OPERAZIONI BITS ======
// Leggi di più qui.
/*
& - Operazione a bit AND
| - Operazione a bit OR
^ - Operazione a bit XOR
~ - Operazione a bit NON
<< - spostamento del bit a sinistra
>> - spostamento del bit a destra
*/
bit(val);                   // restituisce 2 elevato alla potenza di val (0 sarebbe 1, 1 sarebbe 2, 2 sarebbe 4, 3 sarebbe 8, ecc.)
bitClear(x, n);        // imposta a 0 il bit che si trova nel numero x al numero n
bitSet(x, n);           // imposta a 1 il bit che si trova nel numero x al numero n
bitWrite(x, n, b);  // imposta il valore di b (0 o 1) su bit , che è nel numero x al numero n.
bitRead(x, n);       // restituisce il valore del bit (0 o 1) che si trova nel numero x al numero n.
highByte(x);         // recupera e restituisce il byte alto (più a sinistra) della variabile di tipo word (o il secondo byte                                        basso della variabile se il suo tipo richiede più di due byte).
lowByte(x);          // recupera e restituisce il byte meno significativo (più a destra) di una variabile (ad esempio, di                                         tipo word).
// ====== Operazione a bit AND ======
/*
0 & 0 == 0
0 & 1 == 0
1 & 0 == 0
1 & 1 == 1
*/
myByte = 0b11001100;
myBits = myByte & 0b10000111;
// myBits ora è 0b10000100

// ====== Operazione a bit OR ======
/*
0 | 0 == 0
0 | 1 == 1
1 | 0 == 1
1 | 1 == 1
*/
myByte = 0b11001100;
myBits = myByte | 0b00000001;
// myBits ora è 0b11001101

// ====== Operazione a bit XOR ======
/*
0 ^ 0 == 0
0 ^ 1 == 1
1 ^ 0 == 1
1 ^ 1 == 0
*/
myByte = 0b11001100;
myByte ^= 0b10000000;
// myByte ora è 01001100

// ====== Operazione a bit NON ======
/*
~0 == 1
~1 == 0
*/
myByte = 0b11001100;
myByte = ~myByte;            // invertire
// myByte ora è 00110011

// ====== Spostamento del bit ======
myByte = 0b00011100;
myByte = myByte << 3;  // sposta 3 a sinistra
// myByte ora è 0b11100000 

myByte >>= 5;
// myByte ora è 0b00000111

myByte >>= 2;
/*
myByte ora è 0b00000001
il resto dei bit è perso.
*/
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia