bitget
特定の位置のビットを取得
説明
例
入力とインデックスが両方ともスカラーの場合のビットの取得
符号なし固定小数点 fi
数の値は 85、語長は 8、小数部の長さは 0 であるとします。
a = fi(85,0,8,0); disp(bin(a))
01010101
位置 4 にあるビットの 2 進数表現を取得します。
c = bitget(a,4);
bitget
は a
の 2 進数表現の位置 4 にあるビットを返します。
入力が行列でインデックスが fi の場合のビットの取得
語長が 4、小数部の長さが 0 の 3 行 3 列の符号付き固定小数点行列から始めます。
a = fi([2 3 4;6 8 2;3 5 1],0,4,0); disp(bin(a))
0010 0011 0100 0110 1000 0010 0011 0101 0001
指定された位置にあるビットの 2 進数表現を取得します。
c = bitget(a,fi(2))
c = 1 1 0 1 0 1 1 0 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 1 FractionLength: 0
MATLAB® は a
の位置 fi(2)
にあるビットの行列を返します。出力行列の次元は a
と同じで、語長は 1 です。
入力とインデックスが両方ともベクトルの場合のビットの取得
語長が 16、小数部の長さが 4 の符号付き固定小数点ベクトルから始めます。
a = fi([86 6 53 8 1],0,16,4); disp(bin(a))
0000010101100000 0000000001100000 0000001101010000 0000000010000000 0000000000010000
取得するビットの位置を指定するベクトルを作成します。
bit = [1,2,5,7,4]
bit = 1×5
1 2 5 7 4
bit
で指定された位置にある a
のビットの 2 進数表現を取得します。
c = bitget(a,bit)
c = 0 0 1 0 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 1 FractionLength: 0
bitget
は、bit
で指定された位置にある a
のビットからなるベクトルを返します。出力ベクトルの長さは入力 a
および bit
と同じで、語長は 1 です。
入力がスカラーでインデックスがベクトルの場合のビットの取得
値が pi
の既定の fi
オブジェクトを作成します。
a = fi(pi); disp(bin(a))
0110010010001000
既定のオブジェクトは符号付きで、語長は 16 です。
a
内から取得するビットの位置からなるベクトルを作成し、これらのビットの 2 進数表現を取得します。
bit = fi([15,3,8,2]); c = bitget(a,bit)
c = 1 0 1 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 1 FractionLength: 0
MATLAB® は、インデックス ベクトル bit
で指定された位置にある a
のビットからなるベクトルを返します。
入力引数
a
— 入力配列
スカラー | ベクトル | 行列 | 多次元配列
入力配列。スカラー、ベクトル、行列または固定小数点 fi
オブジェクトの多次元配列として指定します。a
と bit
が両方とも非スカラーの場合、これらは同じ次元でなければなりません。a
が符号付き numerictype
である場合、格納された整数のビット表現は 2 の補数表現です。
データ型: 固定小数点 fi
bit
— ビット インデックス
スカラー | ベクトル | 行列 | 多次元配列
ビット インデックス。スカラー、ベクトル、行列、あるいは fi
オブジェクトまたは組み込みデータ型の多次元配列として指定します。a
と bit
が両方とも非スカラーの場合、これらは同じ次元でなければなりません。bit
には 1
から a
の語長までの範囲の整数値 (等値を含む) が格納されていなければなりません。LSB
(右端のビット) はビット インデックスの 1
で指定され、MSB
(左端のビット) は a
の語長で指定されます。bit
は逐次的なビット位置のベクトルである必要はありません。また、変数のインデックス値も指定できます。
a = fi(pi,0,8); a.bin
11001001
データ型: fi
|single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
出力引数
c
— 出力配列
スカラー | ベクトル | 行列 | 多次元配列
出力配列。符号なしスカラー、ベクトル、行列または WordLength
が 1 の多次元配列として指定します。
a
が配列で bit
がスカラーの場合、c
は語長が 1 の符号なし配列です。この符号なし配列は、a
内の各固定小数点要素の位置 bit
にあるビット値で構成されています。
a
がスカラーで bit
が配列の場合、c
は語長が 1 の符号なし配列です。この符号なし配列は、bit
で指定された位置にある a
のビット値で構成されています。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
VHDL® の場合、スライス演算子 a(idx)
を生成します。
Verilog® の場合、スライス演算子 a[idx]
を生成します。
バージョン履歴
R2006a より前に導入
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)