matlabの大小端の変換方法

MATLAB でリトルエンディアンとビッグエンディアンの入れ替えを行うには、bitcmp 関数と swapbytes 関数を使用します。

  1. ビット演算関数bitcmpを使ってエンディアン変換を行う
x = 123; % 原始数据
y = bitcmp(typecast(uint32(x), 'uint32')); % 进行大小端互换
result = typecast(y, 'uint32'); % 将结果转换回原始数据类型
disp(result); % 输出结果
  1. スワップバイト機能でバイトオーダ変換を実行する。
x = 123; % 原始数据
y = swapbytes(typecast(uint32(x), 'uint32')); % 进行大小端互换
result = typecast(y, 'uint32'); % 将结果转换回原始数据类型
disp(result); % 输出结果

どちらの方法も生のデータを 32 ビット符号なし整数に変換、エンディアンを変換して、元のデータ型に戻す。

bannerAds