Main Content

dec2bin

10 進数整数から 2 進数表現への変換

説明

binStr = dec2bin(D) は、10 進数整数 D の 2 進数表現を返します。出力引数 binStr は、文字 0 および 1 を使用して 2 進数の桁数を表す文字ベクトルです。

D が数値ベクトル、行列、または多次元配列の場合、binStr は 2 次元文字配列になります。binStr の各行は D の要素を表します。

binStr = dec2bin(D,minDigits) は、2 進数表現を minDigits 桁以上で返します。

すべて折りたたむ

10 進数を、2 進数値を表す文字ベクトルに変換します。

D = 23;
binStr = dec2bin(D)
binStr = 
'10111'

dec2bin が返す 2 進数の最小桁数を指定します。必要以上の桁数を指定した場合、dec2bin は出力をパディングします。

D = 23;
binStr = dec2bin(D,8)
binStr = 
'00010111'

指定した桁数が足りない場合でも、dec2bin は、入力数値を表現するために必要な 2 進数の桁数を返します。

binStr = dec2bin(D,1)
binStr = 
'10111'

数値配列を作成します。

D = [1023 122 14];

D の要素を 2 進数値として表すには、関数 dec2bin を使用します。binStr の各行は D の各要素に対応します。

binStr = dec2bin(D)
binStr = 3x10 char array
    '1111111111'
    '0001111010'
    '0000001110'

文字配列のすべての行の文字数を同じにしなければならないため、dec2binbinStr の一部の行をパディングします。たとえば、数値 14 は、2 進数 '1110' で表現できます。しかし、binStr の 1 行目と長さを一致させるために、関数 dec2bin は 3 行目をパディングして '0000001110' とします。

R2020a 以降、関数 dec2bin が 2 の補数のバイナリ値を使用して負の数値を変換するようになりました。

たとえば、以下の dec2bin の呼び出しは負の数値を変換します。

dec2bin(-1)
ans = 
'11111111'
dec2bin(-16)
ans = 
'11110000'

入力引数

すべて折りたたむ

入力配列。数値配列、char 配列、logical 配列のいずれかとして指定します。

  • D が浮動小数点数の配列であり、D のいずれかの要素に小数部がある場合、dec2bin は変換前に小数部を切り捨てます。たとえば、dec2bin は、1212.5 の両方を '1100' に変換します。常に、該当する要素以下の最も近い整数に切り捨てられます。

  • D が文字配列または logical 配列である場合、dec2binD の要素を整数として扱います。しかし、dec2bin は文字を Unicode® 値として扱うため、D を文字配列として指定することは推奨されません。

R2020a 以降

D には負の数値を含めることができます。2 の補数のバイナリ値を使用して負の数値が変換されます。

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

出力の最小桁数。非負の整数として指定します。

  • D が 2 進数の minDigits 桁未満で表現できる場合、dec2bin は出力をパディングします。

    D >= 0

    先頭のゼロでパディング

    D < 0

    先頭の 1 でパディング (R2020b 以降)

  • D が大きすぎて minDigits の桁数で表現できない場合、dec2bin は、必要な桁数で出力を返します。

ヒント

  • dec2bin の出力は、コンピューターがメモリに値を保存する際の形式がビッグエンディアンでもリトルエンディアンでも同じです。これらの形式の詳細については、エンディアンを参照してください。

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する

R2022a での動作変更

R2022a での動作変更

参考

| | |

外部の Web サイト