Main Content

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 進数データを書き込む方法を示します。

データを定義し、hexdata.txt という名前の書き込み可能なテキスト ファイルを作成します。

x = (0:15)'/16;
a = fi(x, 0, 16, 16);
h = fopen('hexdata.txt', 'w');

関数 fprintf を使用して hexdata.txt ファイルにデータを書き込みます。

for k = 1:length(a)
    fprintf(h, '%s\n', hex(a(k)));
end

fclose(h);

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

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

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

データを定義し、hexdata.txt という名前の書き込み可能なテキスト ファイルを作成し、hexdata.txt ファイルにデータを書き込みます。

x = (0:15)'/16;
a = fi(x, 0, 16, 16);
h = fopen('hexdata.txt', 'w');

for k = 1:length(a)
    fprintf(h, '%s\n', hex(a(k)));
end

fclose(h);

hexdata.txt を読み取り用に開き、その内容をワークスペース変数に読み取ります。

h = fopen('hexdata.txt', 'r');

nextline = '';
str = '';

while ischar(nextline)
    nextline = fgetl(h);
    if ischar(nextline)
        str = [str; nextline];
    end
end

fclose(h);

正しいスケーリングの 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 より前に導入