Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# swapbytes

Swap byte ordering

Y = swapbytes(X)

## Description

Y = swapbytes(X) reverses the byte ordering of each element in array X, converting little-endian values to big-endian (and vice versa). The input array must contain all full, noncomplex, numeric elements.

## Examples

### Example 1

Reverse the byte order for a scalar 32-bit value, changing hexadecimal 12345678 to 78563412:

```A = uint32(hex2dec('12345678'));

B = dec2hex(swapbytes(A))
B =
78563412```

### Example 2

Reverse the byte order for each element of a 1-by-4 matrix:

```X = uint16([0 1 128 65535])
X =
0      1    128  65535

Y = swapbytes(X);
Y =
0    256  32768  65535```

Examining the output in hexadecimal notation shows the byte swapping:

```format hex

X, Y
X =
0000   0001   0080   ffff
Y =
0000   0100   8000   ffff```

### Example 3

Create a three-dimensional array A of 16-bit integers and then swap the bytes of each element:

```format hex

A = uint16(magic(3) * 150);
A(:,:,2) = A * 40;

A
A(:,:,1) =
04b0   0096   0384
01c2   02ee   041a
0258   0546   012c
A(:,:,2) =
bb80   1770   8ca0
4650   7530   a410
5dc0   d2f0   2ee0

swapbytes(A)
ans(:,:,1) =
b004   9600   8403
c201   ee02   1a04
5802   4605   2c01
ans(:,:,2) =
80bb   7017   a08c
5046   3075   10a4
c05d   f0d2   e02e```