メインコンテンツ

bi2de

(非推奨) 2 進数から基数 P への変換

bi2de は推奨されません。代わりに、関数 bit2int を使用してください。詳細については、バージョン履歴を参照してください。

説明

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 は最上位桁の位置を決定します。

すべて折りたたむ

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

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

関数 bi2de を使用して、2 つの 2 進数配列を 10 進数に変換します。最上位桁を左端の要素に割り当てます。変換の出力では、b1 0 ( 2 4 ) + 1 ( 2 3 ) + 0 ( 2 2 ) + 1 ( 2 1 ) + 1 ( 2 0 ) = 1 1 b2 1 ( 2 3 ) + 1 ( 2 2 ) + 1 ( 2 1 ) + 0 ( 2 0 ) = 1 4 に対応します。

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

最上位桁を右端の要素に割り当てます。変換の出力では、b1 0 ( 2 0 ) + 1 ( 2 1 ) + 0 ( 2 2 ) + 1 ( 2 3 ) + 1 ( 2 4 ) = 2 6 b2 1 ( 2 0 ) + 1 ( 2 1 ) + 1 ( 2 2 ) + 0 ( 2 3 ) = 7 に対応します。

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

入力引数

すべて折りたたむ

バイナリ入力。行ベクトルまたは正の整数値あるいは 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 より前に導入

すべて折りたたむ