dec2bin
10 進数整数から 2 進数表現への変換
説明
例
10 進数の変換
最小桁数の指定
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'
文字配列のすべての行の文字数を同じにしなければならないため、dec2bin
は binStr
の一部の行をパディングします。たとえば、数値 14
は、2 進数 '1110'
で表現できます。しかし、binStr
の 1 行目と長さを一致させるために、関数 dec2bin
は 3 行目をパディングして '0000001110'
とします。
負の数値を表す
R2020a 以降、関数 dec2bin
が 2 の補数のバイナリ値を使用して負の数値を変換するようになりました。
たとえば、以下の dec2bin
の呼び出しは負の数値を変換します。
dec2bin(-1)
ans = '11111111'
dec2bin(-16)
ans = '11110000'
入力引数
D
— 入力配列
数値配列 | char
配列 | logical 配列
入力配列。数値配列、char
配列、logical 配列のいずれかとして指定します。
D
が浮動小数点数の配列であり、D
のいずれかの要素に小数部がある場合、dec2bin
は変換前に小数部を切り捨てます。たとえば、dec2bin
は、12
と12.5
の両方を'1100'
に変換します。常に、該当する要素以下の最も近い整数に切り捨てられます。D
が文字配列または logical 配列である場合、dec2bin
はD
の要素を整数として扱います。しかし、dec2bin
は文字を Unicode® 値として扱うため、D
を文字配列として指定することは推奨されません。
R2020a 以降
D
には負の数値を含めることができます。2 の補数のバイナリ値を使用して負の数値が変換されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
minDigits
— 出力の最小桁数
非負の整数
出力の最小桁数。非負の整数として指定します。
D
が 2 進数のminDigits
桁未満で表現できる場合、dec2bin
は出力をパディングします。D >= 0
先頭のゼロでパディング
D < 0
先頭の 1 でパディング (R2020b 以降)
D
が大きすぎてminDigits
の桁数で表現できない場合、dec2bin
は、必要な桁数で出力を返します。
ヒント
dec2bin
の出力は、コンピューターがメモリに値を保存する際の形式がビッグエンディアンでもリトルエンディアンでも同じです。これらの形式の詳細については、エンディアンを参照してください。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
minDigits
が指定されている場合、D
が空であっても、出力にはその列数が含まれます。minDigits
が指定されていない場合、出力には少なくとも 1 列が含まれます。入力
D
がdouble
またはsingle
の場合、intmin('int64')
以上で2^64
未満でなければなりません。この関数は通常、可変サイズの出力を生成します。出力を固定サイズにするには、入力値に関係なく、出力に固定数の列が含まれるように
minDigits
を十分に大きい定数として指定します。固定サイズの出力の場合、minDigits
は少なくともdouble
に対して64
、single
に対して64
、half
に対して32
、logical
に対して1
、char
に対して8
、int64
に対して64
、uint64
に対して64
、int32
に対して32
、uint32
に対して32
、int16
に対して16
、uint16
に対して16
、int8
に対して8
、uint8
に対して8
でなければなりません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入R2022a: 入力のデータ型をプリミティブ数値型に限定
ユーザー定義データ型は、プリミティブ数値型と、プリミティブ数値型から継承するクラスに限定されます。
R2022a: dec2bin(0,0)
は '0'
を返す
dec2bin(0,0)
は、1 行 0 列の文字ベクトルではなく '0'
を返します。
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)