このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
bitset
特定の位置のビットを設定する
構文
説明
は、intout
= bitset(A
,bit
,assumedtype
)A
のデータ型が assumedtype
であると仮定します。
例
ビットをオンに設定する
数値に 2 のべき乗を加算します。
A = 4; intout = bitset(A,4:6)
intout = 1×3
12 20 36
bitset
がビット 4 ~ 6 を順次オンにすることがわかります。
c = dec2bin(intout)
c = 3x6 char array
'001100'
'010100'
'100100'
整数型の範囲外
assumedtype
の範囲外の整数を指定すると、MATLAB® はエラーをスローします。たとえば、int8
整数の最大値は 127 なので、bitset(300,5,'int8')
はエラーを返します。
このエラーを回避するには、指定したデータ型の範囲内の値を入力します。
intout = bitset(75,5,'int8')
intout = 91
ビットをオフに設定する
数値から 2 のべき乗を順次減算します。
a = intmax('uint8')
a = uint8
255
for k = 0:7 a = bitset(a, 8-k, 0); b(1,k+1) = a; end b
b = 1x8 uint8 row vector
127 63 31 15 7 3 1 0
複数のビットを設定する
複数のビットを異なる値に設定する
bits = 2:6;
val = [1 0 0 1 1];
intout = bitset(0,bits,val,'int8')
intout = 1×5
2 0 0 16 32
入力引数
A
— 入力値
配列
入力値。配列として指定します。A
、bit
および V
はそれぞれ、スカラーまたは同じサイズの配列です。
A
が double 配列で、assumedtype
が指定されていない場合、MATLAB® はA
を符号なし 64 ビット整数として扱います。assumedtype
が指定されている場合、A
のすべての要素はassumedtype
の範囲内の整数値でなければなりません。
データ型: double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
bit
— ビット位置
整数 | 整数配列
ビット位置。整数または整数配列として指定します。A
、bit
および V
はそれぞれ、スカラーまたは同じサイズの配列です。bit
の値は、1 (最下位ビット) と A
の整数クラスにおけるビット数の間でなければなりません。
データ型: double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
assumedtype
— 想定される A
のデータ型
'uint64'
| 'uint32'
| 'uint16'
| 'uint8'
| 'int64'
| 'int32'
| 'int16'
| 'int8'
想定される A
のデータ型。'uint64'
、'uint32'
、'uint16'
、'uint8'
、'int64'
、'int32'
、'int16'
または 'int8'
のいずれかを指定します。
A
が double 配列の場合、assumedtype
には任意の有効な整数型を指定できますが、既定では'uint64'
が指定されます。A
が整数型配列の場合、assumedtype
にはそれと同じ整数型を指定しなければなりません。
データ型: char
| string
V
— ビット値
スカラー | 数値配列
ビット値。スカラーまたは数値配列として指定します。A
、bit
および V
はそれぞれ、スカラーまたは同じサイズの配列です。
データ型: double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
出力引数
intout
— 調整された整数
配列
調整された整数。配列として返されます。intout
のデータ型は A
と同じです。
A
、bit
およびV
がすべてスカラーの場合は、intout
もスカラーになります。A
、bit
またはV
のいずれかが配列の場合、intout
はその配列と同じサイズになります。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
符号付き整数はサポートされません。
64 ビット整数はサポートされません。
入力値
A
およびビット位置bit
の少なくとも 1 つは符号なし整数または符号なし整数配列でなければなりません。assumedtype
引数はサポートされていません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
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)