Main Content

bitget

特定の位置のビットを取得

説明

c = bitget(a, bit) は、abit で指定された位置にあるビットの値を、語長が 1 の符号なし整数として返します。

すべて折りたたむ

符号なし固定小数点 fi 数の値は 85、語長は 8、小数部の長さは 0 であるとします。

a = fi(85,0,8,0);
disp(bin(a))
01010101

位置 4 にあるビットの 2 進数表現を取得します。

c = bitget(a,4);

bitgeta の 2 進数表現の位置 4 にあるビットを返します。

語長が 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 のビットからなるベクトルを返します。

入力引数

すべて折りたたむ

入力配列。スカラー、ベクトル、行列または固定小数点 fi オブジェクトの多次元配列として指定します。abit が両方とも非スカラーの場合、これらは同じ次元でなければなりません。a が符号付き numerictype である場合、格納された整数のビット表現は 2 の補数表現です。

データ型: 固定小数点 fi

ビット インデックス。スカラー、ベクトル、行列、あるいは fi オブジェクトまたは組み込みデータ型の多次元配列として指定します。abit が両方とも非スカラーの場合、これらは同じ次元でなければなりません。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

出力引数

すべて折りたたむ

出力配列。符号なしスカラー、ベクトル、行列または WordLength が 1 の多次元配列として指定します。

a が配列で bit がスカラーの場合、c は語長が 1 の符号なし配列です。この符号なし配列は、a 内の各固定小数点要素の位置 bit にあるビット値で構成されています。

a がスカラーで bit が配列の場合、c は語長が 1 の符号なし配列です。この符号なし配列は、bit で指定された位置にある a のビット値で構成されています。

拡張機能

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

バージョン履歴

R2006a より前に導入