メインコンテンツ

hex

fi オブジェクトの格納整数の 16 進数表現

説明

b = hex(a)fi オブジェクト a の格納整数を 16 進数形式の文字ベクトルとして返します。

固定小数点数は以下のように表現することができます。

real-world value=2fraction length×stored integer

または、次も等価です。

real-world value=(slope×stored integer)+bias

格納整数は生の 2 進数の数で、2 進小数点はワードの右端にあると想定されています。

ヒント

hexfi オブジェクトの格納整数の 16 進数表現を返します。fi オブジェクトの実際値の 16 進数表現を取得するには、dec2hex を使用します。

すべて折りたたむ

-1 および 1、語長 8 ビット、小数部の長さ 7 ビットの符号付き fi オブジェクトを作成します。

a = fi([-1 1], 1, 8, 7)
a = 
   -1.0000    0.9922

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 7

fi オブジェクト a の格納整数の 16 進数表現を確認します。

b = hex(a)
b = 
'80   7f'

この例では、MATLAB® ワークスペースからテキスト ファイルに 16 進数データを書き込む方法を示します。

データを定義します。

x = (0:15)/16;
a = fi(x, 0, 16, 16);

extract関数を使用して、各 16 進数値を個別の string として抽出します。

data = string(a.hex);
data = extract(data,alphanumericsPattern);

writematrix関数を使用して、テキスト ファイル hexdata.txt にデータを書き込みます。

writematrix(data',"hexdata.txt",Delimiter="comma",QuoteString=false);

作成したファイルの内容を表示するには、関数 type を使用します。

type hexdata.txt
0000,1000,2000,3000,4000,5000,6000,7000,8000,9000,a000,b000,c000,d000,e000,f000

この例では、テキスト ファイルから MATLAB® ワークスペースに 16 進数データを読み戻す方法を示します。

データを定義します。

x = (0:15)/16;
a = fi(x, 0, 16, 16);

hexdata.txt という名前のテキスト ファイルにデータを書き込みます。ファイルへの 16 進数データの書き込みの詳細については、ファイルへの 16 進数データの書き込みを参照してください。

data = string(a.hex);
data = extract(data,alphanumericsPattern);
writematrix(data',"hexdata.txt",Delimiter="comma",QuoteString=false);

hexdata.txt の内容を読み取って string の配列に格納します。

str = readmatrix("hexdata.txt",OutputType="string");

正しいスケーリングの fi オブジェクトを作成し、変数 str に格納された 16 進数値を代入します。

b = fi([], 0, 16, 16);
b.hex = str
b = 
         0    0.0625    0.1250    0.1875    0.2500    0.3125    0.3750    0.4375    0.5000    0.5625    0.6250    0.6875    0.7500    0.8125    0.8750    0.9375

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 16
        FractionLength: 16

入力引数

すべて折りたたむ

入力配列。fi オブジェクトとして指定します。

データ型: fi

バージョン履歴

R2006a より前に導入