MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
バイナリ整数値のテキスト表現を double 値に変換
D = bin2dec(binStr)
D = bin2dec(binStr) は binStr によって表現されるバイナリ整数を 10 進数に変換し、それを倍精度浮動小数点値として返します。
D
binStr
binStr が flintmax 以上の整数を表す場合、bin2dec では、浮動小数点値として正確には表すことができない可能性があります。
flintmax
bin2dec
例
すべて折りたたむ
2 進数値を表す文字ベクトルを 10 進数に変換します。
binStr = '10111'; D = bin2dec(binStr)
D = 23
R2019b 以降は、bin2dec を使用せずに、値を 2 進数形式で直接記述できます。接頭辞 0b を使用し、引用符は使用しないでください。MATLAB® はその値をテキストではなく、整数として保存します。
0b
D = 0b10111
D = uint8 23
複数の 2 進数値を表す string 配列を作成します。
binStr = ["1111111111" "1111010" "1110"]
binStr = 1×3 string "1111111111" "1111010" "1110"
2 進数値を変換して数値配列を返します。
D = 1×3 1023 122 14
R2019b 以降は、bin2dec を使用してテキストを変換するのではなく、バイナリ リテラルを使用して数値配列を作成することをお勧めします。
D = [0b1111111111 0b1111010 0b1110]
D = 1×3 uint16 row vector 1023 122 14
2 進数を表すテキスト。文字配列、文字ベクトルの cell 配列、または string 配列として指定します。binStr は、文字 0 と 1 を使用して 2 進数の桁数を表します。
0
1
binStr が複数の行をもつ文字配列、または文字ベクトルの cell 配列の場合、出力は数値列ベクトル。
binStr が string 配列の場合、出力は同じ次元をもつ数値配列。
binStr で表される 2 進数は 53 桁を超えることができません。
R2020a 以降、binStr はバイナリ リテラルで使用される同じ接頭辞 (0b または 0B) と接尾辞が含まれるテキストにすることができます。たとえば、次の bin2dec の呼び出しはそれぞれ数値 7 を返します。
0B
7
bin2dec('111') bin2dec('0b111') bin2dec('0b111s32')
また、R2020a では、binStr は符号付き整数型を指定する接尾辞を使用して、負の数値の 2 の補数を表すことができます。たとえば、接尾辞 s8 は 8 ビット符号付き整数型を指定するため、bin2dec('0b11111111s8') は -1 を返します。従来のリリースでは、binStr は負の数値を表すことができません。
s8
bin2dec('0b11111111s8')
-1
すべて展開する
使用上の注意および制限:
入力テキストは、文字配列または string スカラーとして指定しなければなりません。cell 配列はサポートされません。
入力が空の場合、答えは MATLAB® の答えと一致しません。
入力テキストは、文字配列として指定しなければなりません。cell 配列はサポートされません。
入力が空の場合、答えは MATLAB の答えと一致しません。
backgroundPool
ThreadPool
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
関数 bin2dec は、入力値が flintmax 以上である場合に警告を発行します。以前のリリースでは、bin2dec はこの警告を発行しませんでした。
bin2dec は、flintmax 以上の整数を表す入力を倍精度浮動小数点値で正確に表せない場合があるため、警告を発行します。
flintmax を超える値を正確に変換するには、以下のいずれかの代替方法を検討してください。
スカラー テキスト入力の代わりに、同じ値を表す 16 進数リテラルまたは 2 進数リテラルを使用します。値をリテラルとして記述すると、MATLAB はこのリテラルを、値を正確に表す整数として保存します。詳細については、16 進数値と 2 進数値を参照してください。
flintmax を超える 16 進数入力を変換するには、関数 sscanf で演算子 %lx を使用します。%lx を使用すると、変換された値は uint64 データ型の整数になります。これらの整数を使用すると、flintmax を超える値でも十分正確に表すことができます。
sscanf
%lx
uint64
.
dec2bin | hex2dec | base2dec | flintmax
dec2bin
hex2dec
base2dec
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ