Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

bi2de

バイナリ ベクトルの 10 進数変換

説明

d = bi2de(b) は、バイナリ行ベクトル b を 10 進数整数に変換します。

d = bi2de(b,flg) は、バイナリ行ベクトルを 10 進数整数に変換します。ここで、flg は最上位桁の位置を決定します。

d = bi2de(b,p) は、基数が p の行ベクトル b を 10 進数整数に変換します。

d = bi2de(b,p,flg) は、基数が p の行ベクトルを 10 進数整数に変換します。ここで、flg は最上位桁の位置を決定します。

すべて折りたたむ

0 ~ 15 の値をとる 5 個の乱数のバイナリ表現を格納する行列を生成します。2 進数を 10 進数整数に変換します。

b = randi([0 1],5,4);
d = bi2de(b)
d = 5×1

     1
     5
    14
    11
    15

この例では、2 進数を 10 進数整数に変換する方法を示します。最上位桁の位置決めの左右での違いに注目します。

b1 = [0 1 0 1 1];
b2 = [1 1 1 0];

関数bi2deを使用して、2 つの 2 進数配列を 10 進数に変換します。最上位桁を左端の要素に割り当てます。変換の出力は、b10(24)+1(23)+0(22)+1(21)+1(20)=11b21(23)+1(22)+1(21)+0(20)=14 に対応します。

d1 = bi2de(b1,'left-msb')
d1 = 11
d2 = bi2de(b2,'left-msb')
d2 = 14

最上位桁を右端の要素に割り当てます。変換の出力は、b10(20)+1(21)+0(22)+1(23)+1(24)=26b21(20)+1(21)+1(22)+0(23)=7 に対応します。

d1 = bi2de(b1,'right-msb')
d1 = 26
d2 = bi2de(b2,'right-msb')
d2 = 7

8 進数 (基数 8) の数値を等価の 10 進数に変換します。

最上位桁を左端の位置に割り当てます。この出力は、4(83)+2(82)+7(81)+1(80)=2233 に対応します。

d = bi2de([4 2 7 1],8,'left-msb')
d = 2233

最上位桁を右端の位置に割り当てます。この出力は、4(80)+2(81)+7(82)+1(83)=980 に対応します。

d = bi2de([4 2 7 1],8,'right-msb')
d = 980

入力引数

すべて折りたたむ

バイナリ入力。行ベクトルまたは正の整数値あるいは logical 値の行列として指定します。

メモ

b は、252 以下の整数を表していなければなりません。

データ型: double | single | logical | integer | fi

MSB フラグ。'right-msb' または 'left-msb' として指定します。

  • 'right-msb' –– バイナリ入力 b の右 (または最後) の列を最上位ビット (または最上位桁) として示します。

  • 'left-msb' –– バイナリ入力 b の左 (または最初) の列を最上位ビット (または最上位桁) として示します。

データ型: char | string

入力 b の基数。2 以上の整数として指定します。

データ型: double | single

出力引数

すべて折りたたむ

10 進数の出力。非負の整数または行ベクトルとして返されます。b が行列の場合、各行は基数 p の数値を表します。この場合は、出力 d は列ベクトルで、その各要素は b の対応する行の 10 進表現です。

入力データ型に応じて、次のようになります。

  • 整数データ型と d の値は、入力と同じ整数データ型で格納できます。出力データ型には、入力と同じデータ型が使用されます。それ以外の場合、10 進数の出力を格納できる十分な大きさのデータ型が選択されます。

  • 入力データ型が double または logical データ型の場合、出力データ型は double です。

  • 入力データ型が single データ型の場合、出力データ型は single です。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

参考

R2006a より前に導入