Main Content

num2hex

quantizer オブジェクトを使用して数値を 16 進数の等価な値に変換

説明

y = num2hex(q,x) は、数値行列 xy に返される 16 進数文字列に変換します。数値の属性は、quantizer オブジェクト q によって指定されます。

[y1,y2,…] = num2hex(q,x1,x2,…) は数値行列 x1x2、… を 16 進数文字列 y1y2、… に変換します。

すべて折りたたむ

num2hex を使用して、数値行列を 16 進数表現に変換します。

浮動小数点値の変換

次に示すのは、語長が 6 ビット、指数部の長さが 3 ビットの quantizer オブジェクト q を使用した浮動小数点の例です。

x = magic(3);
q = quantizer('float',[6 3]);
y = num2hex(q,x)
y = 9x2 char array
    '18'
    '12'
    '14'
    '0c'
    '15'
    '18'
    '16'
    '17'
    '10'

固定小数点値の変換

小数形式で表現された 4 ビット固定小数点の 2 の補数はすべて、以下のように求められます。

q = quantizer([4 3]);
x = [0.875    0.375   -0.125   -0.625
     0.750    0.250   -0.250   -0.750
     0.625    0.125   -0.375   -0.875
     0.500        0   -0.500   -1.000];
y = num2hex(q,x)
y = 16x1 char array
    '7'
    '6'
    '5'
    '4'
    '3'
    '2'
    '1'
    '0'
    'f'
    'e'
    'd'
    'c'
    'b'
    'a'
    '9'
    '8'

入力引数

すべて折りたたむ

数値の属性。quantizer オブジェクトとして指定します。

変換する数値。スカラー、ベクトル、行列、多次元配列または double の cell 配列として指定します。

データ型: double | cell
複素数のサポート: あり

出力引数

すべて折りたたむ

16 進数文字列。列ベクトルとして返されます。x が数値行列を含む cell 配列である場合、y は 16 進数文字列を含む同じ次元の cell 配列として返されます。

ヒント

  • num2hexhex2num は互いに逆ですが、hex2num では 1 つの列に 16 進数値が返される点が異なります。

アルゴリズム

  • 固定小数点 quantizer オブジェクトの場合、2 の補数表現が使用されます。

  • 浮動小数点 quantizer オブジェクトの場合、表現は IEEE® Standard 754 スタイルです。

    たとえば、q = quantizer('double') の場合は次のようになります。

    q = quantizer('double');
    num2hex(q,nan)
    ans =
    
        'fff8000000000000'

    先頭の小数部ビットは 1、その他の小数部ビットはすべて 0 です。符号ビットは 1、指数ビットはすべて 1 です。

    num2hex(q,inf)
    ans =
    
        '7ff0000000000000'

    符号ビットは 0、指数ビットはすべて 1、小数部ビットはすべて 0 です。

    num2hex(q,-inf)
    ans =
    
        'fff0000000000000'

    符号ビットは 1、指数ビットはすべて 1、小数部ビットはすべて 0 です。

バージョン履歴

R2006a より前に導入