주요 콘텐츠

swapbytes

바이트 순서 맞바꾸기

설명

Y = swapbytes(X)는 배열 X에 있는 각 요소의 바이트 순서를 리틀 엔디안에서 빅 엔디안으로(또는 그 반대로) 맞바꿉니다. 입력 배열은 희소 형식이 아니어야 하고 그 요소는 복소수가 아니고 숫자여야 합니다.

예제

예제

모두 축소

스칼라 32비트 값에 대한 바이트 순서를 맞바꿉니다. 16진수 표현을 사용하여 리틀 엔디안에서 빅 엔디안으로의 변환을 표시합니다.

X = uint32(hex2dec('4D3C2B1A'));
Y = dec2hex(swapbytes(X))
Y = 
'1A2B3C4D'

R2019b부터는 0x 또는 0X 접두사를 사용하여 16진수 값을 리터럴로 쓸 수도 있습니다(자세한 내용은 16진수 값과 2진수 값 참조). 숫자 X를 16진수 리터럴로 지정합니다. 바이트 순서를 맞바꿉니다.

X = 0x4D3C2B1A;
Y = dec2hex(swapbytes(X))
Y = 
'1A2B3C4D'

1×4 벡터의 각 요소에 대해 바이트 순서를 맞바꿉니다.

format short
X = uint16([0 1 128 65535])
X = 1×4 uint16 row vector

       0       1     128   65535

Y = swapbytes(X)
Y = 1×4 uint16 row vector

       0     256   32768   65535

16진수 표기법의 출력값을 검토하여 엔디언 변환을 표시합니다.

format hex
X
X = 1×4 uint16 row vector

   0000   0001   0080   ffff

Y
Y = 1×4 uint16 row vector

   0000   0100   8000   ffff

16비트 정수로 구성된 3차원 배열 A를 만듭니다. 각 요소의 바이트 순서를 맞바꿉니다. 16진수 표현을 사용하여 엔디언 변환을 표시합니다.

format hex
X = uint16(magic(3)*150);
X(:,:,2) = X*40;
X
X = 3×3×2 uint16 array
X(:,:,1) =

   04b0   0096   0384
   01c2   02ee   041a
   0258   0546   012c


X(:,:,2) =

   bb80   1770   8ca0
   4650   7530   a410
   5dc0   d2f0   2ee0

Y = swapbytes(X)
Y = 3×3×2 uint16 array
Y(:,:,1) =

   b004   9600   8403
   c201   ee02   1a04
   5802   4605   2c01


Y(:,:,2) =

   80bb   7017   a08c
   5046   3075   10a4
   c05d   f0d2   e02e

입력 인수

모두 축소

숫자형 값으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. X가 스칼라 값이 아니면 swapbytes 연산은 요소별로 수행됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

세부 정보

모두 축소

확장 기능

모두 확장

버전 내역

R2006a 이전에 개발됨

참고 항목