Подкачайте порядок байтов
Y = swapbytes(X)
Y = swapbytes(X)
инвертирует порядок байтов каждого элемента в массиве X
, преобразовывая значения с прямым порядком байтов в обратный порядок байтов (и наоборот). Входной массив должен содержать все полные, некомплексные, числовые элементы.
Инвертируйте порядок байтов для скалярного 32-битного значения, изменив шестнадцатеричный 12345678
на 78563412
:
A = uint32(hex2dec('12345678')); B = dec2hex(swapbytes(A)) B = 78563412
Инвертируйте порядок байтов для каждого элемента матрицы 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
Создайте 3D массив 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