MATLAB - Bitwise Operations

Advertisements


MATLAB provides various functions for bit-wise operations like 'bitwise and', 'bitwise or' and 'bitwise not' operations, shift operation, etc.

The following table shows the commonly used bitwise operations:

FunctionPurpose
bitand(a, b)Bit-wise AND of integers a and b
bitcmp(a)Bit-wise complement of a
bitget(a,pos)Get bit at specified position pos, in the integer array a
bitor(a, b)Bit-wise OR of integers a and b
bitset(a, pos)Set bit at specific location pos of a
bitshift(a, k)Returns a shifted to the left by k bits, equivalent to multiplying by 2k. Negative values of k correspond to shifting bits right or dividing by 2|k| and rounding to the nearest integer towards negative infinite. Any overflow bits are truncated.
bitxor(a, b)Bit-wise XOR of integers a and b
swapbytesSwap byte ordering

Example

Create a script file and type the following code:

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 */

When you run the file, it displays the following result:

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


Advertisements
Advertisements