このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
int2bit
説明
例
整数のベクトルからビットへの変換
整数の行ベクトルを指定します。
X = [12 5]
X = 1×2
12 5
変換出力用に 4 個の列方向ビット要素を指定します。次に、整数をビットに変換します。
n = 4; Y = int2bit(X,n)
Y = 4×2
1 0
1 1
0 0
0 1
整数の行列からビットへの変換
整数の行列を指定します。
X = int8([10 6 14; 11 5 9])
X = 2x3 int8 matrix
10 6 14
11 5 9
出力用の 4 個の列方向ビット要素の各セットにおける最初のビットが LSB であることを指定します。次に、整数をビットに変換します。
n = 4; msbfirst = false; Y = int2bit(X,n,msbfirst)
Y = 8x3 int8 matrix
0 0 0
1 1 1
0 1 1
1 0 1
1 1 1
1 0 0
0 1 0
1 0 1
整数の配列からビットへの変換
整数の配列を指定します。
X = randi([0,9],4,3,2,'uint16')
X = 4x3x2 uint16 array
X(:,:,1) =
8 6 9
9 0 9
1 2 1
9 5 9
X(:,:,2) =
9 4 6
4 9 0
8 7 8
1 9 9
変換出力用に 3 個の列方向ビット要素を指定します。次に、整数をビットに変換します。
n = 3; Y = int2bit(X,n)
Y = 12x3x2 uint8 array
Y(:,:,1) =
0 1 0
0 1 0
0 0 1
0 0 0
0 0 0
1 0 1
0 0 0
0 1 0
1 0 1
0 1 0
0 0 0
1 1 1
Y(:,:,2) =
0 1 1
0 0 1
1 0 0
1 0 0
0 0 0
0 1 0
0 1 0
0 1 0
0 1 0
0 0 0
0 0 0
1 1 1
符号付き整数のベクトルからビットへの変換
整数の行ベクトルを指定します。
X = [153, -103, 103, -128]
X = 1×4
153 -103 103 -128
変換出力用に 8 個の列方向ビット要素を指定します。次に、整数をビットに変換します。
n = 8; Y1 = int2bit(X,n)
Y1 = 8×4
1 1 0 1
0 0 1 0
0 0 1 0
1 1 0 0
1 1 0 0
0 0 1 0
0 0 1 0
1 1 1 0
ビットを変換して整数に戻し、その値を確認します。符号付き整数を 2 の補数値として正しく表すには 8 個より多くのビットを必要とするため、得られた整数は元の整数と一致しません。
X1 = bit2int(Y1,n,IsSigned=true)
X1 = 1×4
-103 -103 103 -128
isequal(X,X1)
ans = logical
0
変換出力用に 9 個の列方向ビット要素を指定します。次に、整数をビットに変換します。
n = 9; Y2 = int2bit(X,n)
Y2 = 9×4
0 1 0 1
1 1 0 1
0 0 1 0
0 0 1 0
1 1 0 0
1 1 0 0
0 0 1 0
0 0 1 0
1 1 1 0
ビットを変換して整数に戻し、その値を確認します。得られた整数は元の整数と一致しています。これは、9 つのビットで 2 の補数値を正しく表せていることを示しています。
X2 = bit2int(Y2,n,IsSigned=true)
X2 = 1×4
153 -103 103 -128
isequal(X,X2)
ans = logical
1
入力引数
X
— 整数
スカラー | ベクトル | 行列 | 3 次元配列
整数。整数値のスカラー、ベクトル、行列、または 3 次元配列として指定します。
例: [-10 2]
は、1 行 2 列のサイズの入力行ベクトルを指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
n
— 変換後のビット数
正の整数
ビットへの変換後のビット数。正の整数として指定します。ビット数 n
には符号付きビットが含まれます。
データ型: double
出力引数
Y
— 入力整数のビット表現
列ベクトル | 行列 | 3 次元配列
入力整数のビット表現。列ベクトル、行列、または 3 次元配列として返されます。Y
の次元は X
と同じになりますが、Y
の行数は X
の行数の n
倍になります。出力 Y
は、指定された方向の n
個の最下位ビットで構成されます。n
が X
の値を表現するのに必要なビット数より小さい場合、出力 Y
は n
個の最下位ビットで構成されます。
Y
のデータ型は、X
のデータ型によって異なります。
X
が浮動小数点データ型の場合、Y
は浮動小数点データ型になる。X
が組み込みの符号なし整数データ型の場合、Y
のデータ型はuint8
になる。X
が組み込みの符号付き整数データ型の場合、Y
のデータ型はint8
になる。X
のデータ型がdouble
の場合、Y
のデータ型はdouble
になり、n
は 53 を超えない。X
のデータ型がsingle
の場合、Y
のデータ型はsingle
になり、n
は 24 を超えない。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
入力データ型が double の場合、コード生成の入力値は 264 未満でなければなりません。
バージョン履歴
R2021b で導入R2023a: 符号付き入力のサポートの追加
int2bit
は、符号付き整数入力から 2 の補数値としてのバイナリ値出力への変換をサポートするようになりました。
以前のリリースでは、負の整数を入力するとエラーが発生していました。
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)