ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

hex

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

構文

hex(a)

説明

hex(a) は、fi オブジェクト a の格納整数を、文字列として 16 進数形式で返します。hex(a)a.hex と同義です。

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

real-world value=2fraction length×stored integer

または、次も等価です。

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

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

fi オブジェクトの 16 進形式での表示

以下のコードを入力するとします。

a = fi([-1 1],1,8,7);
y = hex(a)
z = a.hex

戻り値は次のようになります。

y =

		80   7f

z =

		80   7f

ファイルへの 16 進データの書き込み

次の例は、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 

MATLAB は、以下を返します。

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

ファイルからの 16 進データの読み取り

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

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

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

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

正しいスケーリングで 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

参考

| | |

この情報は役に立ちましたか?