Main Content

num2bin

quantizer オブジェクトを使用して数字を 2 進数表現に変換

説明

y = num2bin(q,x) は、quantizer オブジェクト q で指定されたデータ型プロパティを使用して、数値配列 xy に返される 2 進数文字ベクトルに変換します。

x が数値行列を含む cell 配列である場合、y は 2 進数文字列を含む同じ次元の cell 配列になります。x が構造体の場合、x の各数値フィールドは 2 進数に変換されます。

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

すべて折りたたむ

quantizer オブジェクトで指定した属性を使用して、数値行列を 2 進数文字ベクトルに変換します。

x = magic(3)/9
x = 3×3

    0.8889    0.1111    0.6667
    0.3333    0.5556    0.7778
    0.4444    1.0000    0.2222

q = quantizer([5,3])
q =


        DataMode = fixed
       RoundMode = floor
    OverflowMode = saturate
          Format = [5  3]
y = num2bin(q,x)
y = 9x5 char array
    '00111'
    '00010'
    '00011'
    '00000'
    '00100'
    '01000'
    '00101'
    '00110'
    '00001'

quantizer オブジェクトで指定したプロパティを使用して、2 進数文字ベクトルと数値配列の間の変換を行います。

数値配列から 2 進数文字列への変換

語長 4 ビット、小数部の長さ 3 ビットを指定する quantizer オブジェクトを作成します。quantizer オブジェクトのその他のプロパティには、既定値である符号付き固定小数点データ型、負の無限大方向への丸め、オーバーフローで飽和の指定を使用します。

q = quantizer([4 3])
q =


        DataMode = fixed
       RoundMode = floor
    OverflowMode = saturate
          Format = [4  3]

数値の配列を作成します。

[a,b] = range(q);
x = (b:-eps(q):a)
x = 1×16

    0.8750    0.7500    0.6250    0.5000    0.3750    0.2500    0.1250         0   -0.1250   -0.2500   -0.3750   -0.5000   -0.6250   -0.7500   -0.8750   -1.0000

quantizer オブジェクト q で指定したプロパティを使用して、数値ベクトル x を 2 進数表現に変換します。num2bin は、常に列内の 2 進数表現を返すことに注意してください。

b = num2bin(q,x)
b = 16x4 char array
    '0111'
    '0110'
    '0101'
    '0100'
    '0011'
    '0010'
    '0001'
    '0000'
    '1111'
    '1110'
    '1101'
    '1100'
    '1011'
    '1010'
    '1001'
    '1000'

bin2num を使用して逆演算を実行します。

y = bin2num(q,b)
y = 16×1

    0.8750
    0.7500
    0.6250
    0.5000
    0.3750
    0.2500
    0.1250
         0
   -0.1250
   -0.2500
      ⋮

2 進数文字列から数値配列への変換

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

q = quantizer([3 2]);
b = ['011  111'
     '010  110'
     '001  101'
     '000  100'];

bin2num を使用して、これらの値に等価な数値を表示します。

x = bin2num(q,b)
x = 4×2

    0.7500   -0.2500
    0.5000   -0.5000
    0.2500   -0.7500
         0   -1.0000

入力引数

すべて折りたたむ

変換に使用するデータ型プロパティ。quantizer オブジェクトとして指定します。

例: q = quantizer([16 15]);

数値入力配列。スカラー、ベクトル、行列、多次元配列、cell 配列または構造体として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | struct | cell

ヒント

  • num2bin および bin2num は、互いに逆です。num2bin は、常に列内の 2 進数表現を返すことに注意してください。

アルゴリズム

  • 固定小数点 2 進数表現は、2 の補数です。

  • 浮動小数点 2 進数表現は、IEEE® Standard 754 スタイルです。

バージョン履歴

R2006a より前に導入