bitorreduce
ビット単位の OR
演算を実行してビットの連続スライスを削減
説明
例
ビット セット全体に対するビット単位 OR 演算の実行
固定小数点数を作成します。
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
になります。
ベクトルのビット範囲に対するビット単位 OR 演算の実行
固定小数点ベクトルを作成します。
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 つあるためです。
行列のビット範囲に対するビット単位 OR 演算の実行
固定小数点行列を作成します。
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
の唯一の要素だからです。
入力引数
a
— 入力配列
スカラー | ベクトル | 行列 | 多次元配列
入力配列。スカラー、ベクトル、行列または固定小数点 fi
オブジェクトの多次元配列として指定します。
bitorreduce
は、任意のスケーリングを含む、符号付き入力および符号なし入力の両方をサポートします。符号およびスケーリングに関するプロパティは、結果の型および値に影響を与えません。bitorreduce
は、格納された整数の 2 の補数のビット表現に対する演算を実行します。
データ型: 固定小数点 fi
lidx
— 範囲の開始位置
スカラー
組み込み型のスカラーとして指定された範囲の開始位置。lidx
は範囲内の MSB に最も近い位置を表します。
データ型: fi
|single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ridx
— 範囲の終了位置
スカラー
組み込み型のスカラーとして指定された範囲の終了位置。ridx
は範囲の LSB (位置 1 のビット) に最も近い位置を表します。
データ型: fi
|single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
出力引数
c
— 出力配列
スカラー | ベクトル | 行列 | 多次元配列
出力配列。スカラー、ベクトル、行列または固定小数点 fi
オブジェクトの多次元配列として指定されます。c
は語長 1、符号なしです。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
VHDL® の場合、一連のスライスに対して演算を行うビット単位 OR 演算子を生成します。
Verilog® の場合、リデュース演算子を生成します。
|a[lidx:ridx]
バージョン履歴
R2007b で導入
参考
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)