MATLAB - Operazioni bit per bit

MATLAB fornisce varie funzioni per operazioni bit per bit come operazioni "bit per bit e", "bit per bit o" e "non per bit", operazioni di spostamento, ecc.

La tabella seguente mostra le operazioni bit per bit comunemente utilizzate:

Funzione Scopo
bitand (a, b) AND bit per bit di interi a e b
bitcmp (a) Bit-saggio complemento di un file
bitget (a, pos) Ottieni bit nella posizione pos specificata , nell'array intero a
bitor (a, b) OR bit per bit di interi a e b
bitset (a, pos) Imposta il bit nella posizione specifica pos di a
bitshift (a, k) Restituisce uno spostato a sinistra di k bit, equivalente a moltiplicare per 2 k . I valori negativi di k corrispondono allo spostamento dei bit a destra o alla divisione per 2 | k | e arrotondando al numero intero più vicino verso infinito negativo. Eventuali bit di overflow vengono troncati.
bitxor (a, b) XOR bit per bit degli interi a e b
swapbytes Scambia l'ordine dei byte

Esempio

Crea un file di script e digita il codice seguente:

a = 60;               % 60 = 0011 1100   
b = 13;               % 13 = 0000 1101 
c = bitand(a, b)      % 12 = 0000 1100  
c = bitor(a, b)       % 61 = 0011 1101 
c = bitxor(a, b)      % 49 = 0011 0001 
c = bitshift(a, 2)    % 240 = 1111 0000 */
c = bitshift(a,-2)    % 15 = 0000 1111 */

Quando si esegue il file, viene visualizzato il seguente risultato:

c =  12
c =  61
c =  49
c =  240
c =  15