bitset
特定の位置のビットを設定
説明
例
特定の位置のビットを設定
値が 5、語長が 4、小数部の長さが 0 の符号なし固定小数点 fi
数から始めます。
a = fi(5,0,4,0); disp(bin(a))
0101
位置 4 のビットを 1
(オン) に設定します。
c = bitset(a,4); disp(bin(c))
1101
ベクトルで特定の位置のビットを設定
語長が 4、小数部の長さが 0 の次の固定小数点ベクトルについて考えます。
a = fi([0 1 8 2 4],0,4,0); disp(bin(a))
0000 0001 1000 0010 0100
ベクトル a
の各要素で、位置 2 のビットを 1
に設定します。
c = bitset(a,2,1); disp(bin(c))
0010 0011 1010 0010 0110
固定小数点インデックスで特定の位置のビットを設定
値が 5 の次の固定小数点スカラーについて考えます。
a = fi(5,0,4,0); disp(bin(a))
0101
位置 fi(2)
のビットを 1
に設定します。
c = bitset(a,fi(2),1); disp(bin(c))
0111
インデックスがベクトルである場合のビットの設定
値が pi
の fi
オブジェクトを作成します。
a = fi(pi); disp(bin(a))
0110010010001000
この場合、a
は符号付きで、語長は 16 です。
オンに設定する a
のビット位置のベクトルを作成します。その後、結果の fi
ベクトルの 2 進数表現を取得します。
bit = fi([15,3,8,2]); c = bitset(a,bit); disp(bin(c))
0110010010001000 0110010010001100 0110010010001000 0110010010001010
入力引数
A
— 入力値
スカラー | ベクトル | 行列 | 多次元配列
入力値。固定小数点 fi
オブジェクトのスカラー、ベクトル、行列、または多次元配列として指定します。A
、bit
、または V
のいずれかが非スカラーの場合、他の入力は同じサイズのスカラーまたは配列でなければなりません。A
が符号付き numerictype
である場合、格納された整数のビット表現は 2 の補数表現です。
データ型: fi
複素数のサポート: あり
bit
— ビット位置
整数 | 整数配列
ビット位置。fi
オブジェクトまたは組み込みデータ型の整数または整数配列として指定します。A
、bit
、または V
のいずれかが非スカラーの場合、他の入力は同じサイズのスカラーまたは配列でなければなりません。bit
の値は、1
から A
の語長までの間 (両端を含む) でなければなりません。LSB
(右端のビット) はビット インデックス 1
で指定されます。MSB
(左端のビット) は A
の語長で指定されます。
a = fi(pi,0,8); a.bin
ans = '11001001'
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
V
— ビット値
スカラー | ベクトル | 行列 | 多次元配列
出力引数
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
バージョン履歴
R2006a より前に導入R2022a: fi
bitset
に対するスカラー拡張のサポート
R2022a より前は、fi
bitset
の 2 番目と 3 番目の入力引数は同じサイズでなければならず、同じサイズでないとエラーが発生していました。
A = fi(pi); disp(bin(A)) bit = fi([15,3,8,2]); C = bitset(A,bit,1); disp(bin(C))
0110010010001000 The Second and third arguments to BITSET must be the same size.
R2022a 以降では、入力引数 A
、bit
、および V
でスカラー拡張がサポートされます。つまり、A
、bit
、または V
のいずれかが非スカラーの場合に、他の入力を同じサイズのスカラーまたは配列にすることができます。
A = fi(pi); disp(bin(A)) bit = fi([15,3,8,2]); C = bitset(A,bit,1); disp(bin(C))
0110010010001000 0110010010001000 0110010010001100 0110010010001000 0110010010001010
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)