Main Content

bitorreduce

ビット単位の OR 演算を実行してビットの連続スライスを削減

説明

c = bitorreduce(a) は、固定小数点入力 a のビット セット全体に対してビット単位の OR 演算を実行し、結果を語長 1 の符号なし整数として返します。

c = bitorreduce(a, lidx) は、位置 lidx で開始し、LSB (位置 1 のビット) で終了するビットの連続範囲に対して、ビット単位の OR 演算を実行します。

c = bitorreduce(a, lidx, ridx) は、位置 lidx で開始し、位置 ridx で終了するビットの連続範囲に対して、ビット単位の OR 演算を実行します。

bitorreduce 引数は、次の条件を満たさなければなりません。

a.WordLength >= lidx >= ridx >= 1

すべて折りたたむ

固定小数点数を作成します。

a = fi(73,0,8,0);
disp(bin(a))
01001001

a のビット セット全体に対してビット単位の OR 演算を実行します。

c = bitorreduce(a)
c = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 1
        FractionLength: 0

a に値が 1 のビットが 1 つ以上あるため、出力値は 1 になります。

固定小数点ベクトルを作成します。

a=fi([12,4,8,15],0,8,0);
disp(bin(a))
00001100   00000100   00001000   00001111

a の位置 fi(4) 以降の各要素のビットに対してビット単位の OR 演算を実行します。

c=bitorreduce(a,fi(4))
c = 
     1     1     1     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 1
        FractionLength: 0

出力 c のすべてのエントリの値が 1 です。これは、a のすべてのエントリで、位置 fi(4) ~ 1 に値が 1 のビットが少なくとも 1 つあるためです。

固定小数点行列を作成します。

a = fi([7,8,1;5,9,5;8,37,2],0,8,0);
disp(bin(a))
00000111   00001000   00000001
00000101   00001001   00000101
00001000   00100101   00000010

行列 a の各要素の、位置 5 で開始し位置 2 で終了するビットに対して、ビット単位の OR 演算を実行します。

c = bitorreduce(a,5,2)
c = 
     1     1     0
     1     1     1
     1     1     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 1
        FractionLength: 0

出力 c の中で値が 1 でない要素は 1 つのみです。このようになるのは、a 内の対応する要素が、位置 5 ~ 2 の値が 1 となるビットをもたない a の唯一の要素だからです。

入力引数

すべて折りたたむ

入力配列。スカラー、ベクトル、行列または固定小数点 fi オブジェクトの多次元配列として指定します。

bitorreduce は、任意のスケーリングを含む、符号付き入力および符号なし入力の両方をサポートします。符号およびスケーリングに関するプロパティは、結果の型および値に影響を与えません。bitorreduce は、格納された整数の 2 の補数のビット表現に対する演算を実行します。

データ型: 固定小数点 fi

組み込み型のスカラーとして指定された範囲の開始位置。lidx は範囲内の MSB に最も近い位置を表します。

データ型: fi|single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

組み込み型のスカラーとして指定された範囲の終了位置。ridx は範囲の LSB (位置 1 のビット) に最も近い位置を表します。

データ型: fi|single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

出力引数

すべて折りたたむ

出力配列。スカラー、ベクトル、行列または固定小数点 fi オブジェクトの多次元配列として指定されます。c は語長 1、符号なしです。

拡張機能

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

バージョン履歴

R2007b で導入