Main Content

bitset

特定の位置のビットを設定

説明

C = bitset(A,bit) は、位置 bit1 (オン) に設定された A の値を返します。

C = bitset(A,bit,V) は、位置 bitV に設定された A の値を返します。

すべて折りたたむ

値が 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

値が pifi オブジェクトを作成します。

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

入力引数

すべて折りたたむ

入力値。固定小数点 fi オブジェクトのスカラー、ベクトル、行列、または多次元配列として指定します。Abit、または V のいずれかが非スカラーの場合、他の入力は同じサイズのスカラーまたは配列でなければなりません。A が符号付き numerictype である場合、格納された整数のビット表現は 2 の補数表現です。

データ型: fi
複素数のサポート: あり

ビット位置。fi オブジェクトまたは組み込みデータ型の整数または整数配列として指定します。Abit、または 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

インデックス bitA のビット値。fi オブジェクトまたは組み込みデータ型のスカラー、ベクトル、行列、または多次元配列として指定します。Abit、または V のいずれかが非スカラーの場合、他の入力は同じサイズのスカラーまたは配列でなければなりません。V の値は 0 または 1 のいずれかです。0 以外の値は自動的に 1 に設定されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
複素数のサポート: あり

出力引数

すべて折りたたむ

出力配列。fi オブジェクトのスカラー、ベクトル、行列、または多次元配列として返されます。

  • Abit、および V がすべてスカラーの場合、C もスカラーになります。

  • Abit、または V のいずれかが配列の場合、C はその配列と同じサイズになります。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。

バージョン履歴

R2006a より前に導入

すべて展開する