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), ousingleoudouble.
Argumentos de saída
Y- Array da mesma classe e tamanho de
Xcom 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