swapbytes

Подкачайте порядок байтов

Синтаксис

Y = swapbytes (X)

Описание

Y = swapbytes(X) инвертирует порядок байтов каждого элемента в массиве X, преобразовывая значения с прямым порядком байтов в обратный порядок байтов (и наоборот). Входной массив должен содержать все полные, некомплексные, числовые элементы.

Примеры

Пример 1

Инвертируйте порядок байтов для скалярного 32-битного значения, изменив шестнадцатеричный 12345678 на 78563412:

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

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

Пример 2

Инвертируйте порядок байтов для каждого элемента матрицы 1 на 4:

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

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

Исследование вывода в шестнадцатеричном обозначении показывает свопинг байта:

format hex

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

Пример 3

Создайте трехмерный массив A 16-битных целых чисел и затем подкачайте байты каждого элемента:

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

Расширенные возможности

Смотрите также

Представлено до R2006a

Была ли эта тема полезной?