bin2dec
バイナリ整数値のテキスト表現を double 値に変換
説明
例
2 進数値を表すテキストの変換
2 進数値を表す文字ベクトルを 10 進数に変換します。
binStr = '10111';
D = bin2dec(binStr)
D = 23
R2019b 以降は、bin2dec
を使用せずに、値を 2 進数形式で直接記述できます。接頭辞 0b
を使用し、引用符は使用しないでください。MATLAB® はその値をテキストではなく、整数として保存します。
D = 0b10111
D = uint8
23
数値配列を返す
複数の 2 進数値を表す string 配列を作成します。
binStr = ["1111111111" "1111010" "1110"]
binStr = 1x3 string
"1111111111" "1111010" "1110"
2 進数値を変換して数値配列を返します。
D = bin2dec(binStr)
D = 1×3
1023 122 14
R2019b 以降は、bin2dec
を使用してテキストを変換するのではなく、バイナリ リテラルを使用して数値配列を作成することをお勧めします。
D = [0b1111111111 0b1111010 0b1110]
D = 1x3 uint16 row vector
1023 122 14
入力引数
binStr
— 2 進数を表すテキスト
文字配列 | 文字ベクトルの cell 配列 | string 配列
2 進数を表すテキスト。文字配列、文字ベクトルの cell 配列、または string 配列として指定します。binStr
は、文字 0
と 1
を使用して 2 進数の桁数を表します。
binStr
が複数の行をもつ文字配列、または文字ベクトルの cell 配列の場合、出力は数値列ベクトル。binStr
が string 配列の場合、出力は同じ次元をもつ数値配列。
binStr
で表される 2 進数は 53 桁を超えることができません。
R2020a 以降、binStr
はバイナリ リテラルで使用される同じ接頭辞 (0b
または 0B
) と接尾辞が含まれるテキストにすることができます。たとえば、次の bin2dec
の呼び出しはそれぞれ数値 7
を返します。
bin2dec('111') bin2dec('0b111') bin2dec('0b111s32')
また、R2020a では、binStr
は符号付き整数型を指定する接尾辞を使用して、負の数値の 2 の補数を表すことができます。たとえば、接尾辞 s8
は 8 ビット符号付き整数型を指定するため、bin2dec('0b11111111s8')
は -1
を返します。従来のリリースでは、binStr
は負の数値を表すことができません。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
入力テキストは、文字配列または string スカラーとして指定しなければなりません。cell 配列はサポートされません。
入力が空の場合、答えは MATLAB® の答えと一致しません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意および制限:
入力テキストは、文字配列として指定しなければなりません。cell 配列はサポートされません。
入力が空の場合、答えは MATLAB の答えと一致しません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入R2020b: 入力値が flintmax
以上である場合に警告を発行
関数 bin2dec
は、入力値が flintmax
以上である場合に警告を発行します。以前のリリースでは、bin2dec
はこの警告を発行しませんでした。
bin2dec
は、flintmax
以上の整数を表す入力を倍精度浮動小数点値で正確に表せない場合があるため、警告を発行します。
flintmax
を超える値を正確に変換するには、以下のいずれかの代替方法を検討してください。
スカラー テキスト入力の代わりに、同じ値を表す 16 進数リテラルまたは 2 進数リテラルを使用します。値をリテラルとして記述すると、MATLAB はこのリテラルを、値を正確に表す整数として保存します。詳細については、16 進数値と 2 進数値を参照してください。
flintmax
を超える 16 進数入力を変換するには、関数sscanf
で演算子%lx
を使用します。%lx
を使用すると、変換された値はuint64
データ型の整数になります。これらの整数を使用すると、flintmax
を超える値でも十分正確に表すことができます。.
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)