swapbytes

Inverte a ordem dos bytes de inteiros (troca de endianness).

Categoria: Language Fundamentals > Operators and Elementary Operations

Sintaxe

Y = swapbytes(X)

Inverte os bytes de cada elemento de X.

Descrição

Dados vindos de arquivos ou protocolos de rede podem estar guardados com a ordem de bytes oposta à da máquina. swapbytes converte entre little-endian e big-endian: swapbytes(uint16(1)) vale 256, pois os bytes 00 01 viram 01 00, e swapbytes(uint32(1)) vale 16777216.

Aplicá-la duas vezes devolve o valor original. Tipos de 8 bits têm um só byte e não mudam.

Argumentos de entrada

X
Array de uma classe inteira (int16, uint16, int32, uint32, int64, uint64), ou single ou double.

Argumentos de saída

Y
Array da mesma classe e tamanho de X com a ordem dos bytes trocada.

Exemplo

swapbytes(uint16(1))
swapbytes(uint16([1 256]))
swapbytes(uint32(1))
Saída
ans = uint16
   256
ans = 1×2 uint16 row vector

   256     1
ans = uint32
   16777216

Veja também

typecast bitshift fread bitand