bitor
ビット単位の OR
説明
例
論理 OR 演算の真理値表を作成します。
A = uint8([0 1; 0 1]); B = uint8([0 0; 1 1]); TTable = bitor(A, B)
TTable = 2×2 uint8 matrix
0 1
1 1
いずれかのビット単位入力が 1 の場合、bitor は 1 を返します。
MATLAB® は、2 の補数を使用して負の整数をエンコードします。たとえば、-5 に対する 2 の補数表現を求めるには、正のバージョンの数値のビット パターン (00000101) を使い、各ビットをスワップして (11111010)、結果に 1 を加算します (11111011)。
したがって、-5 (11111011) と 6 (00000110) のビット単位の OR は -1 (11111111) です。
a = -5;
bitget(a,8:-1:1,'int8')ans = 1×8
1 1 1 1 1 0 1 1
b = 6;
bitget(b,8:-1:1,'int8')ans = 1×8
0 0 0 0 0 1 1 0
c = bitor(a,b,'int8')c = -1
bitget(c,8:-1:1,'int8')ans = 1×8
1 1 1 1 1 1 1 1
bitor および bitshift を使用して 4 つの 8 ビット バイトを、それらで構成される 32 ビット整数ビット整数にパックします。
4 バイトのデータを作成します。-u32 接尾辞を使用して、データを uint32 として保存することを指定して、16 進数リテラルでデータを指定します。各バイトには 8 ビット相当のデータが含まれています。
byte4 = 0x87u32; byte3 = 0x65u32; byte2 = 0x43u32; byte1 = 0x21u32;
最初のバイトを 32 ビットの符号なし整数の最初の 8 ビットとして追加することから開始します。
packedNum = byte1;
次に、bitshift を使用してバイトを適切な位置にシフトし、bitor を使用してビットをコピーして、他の 3 つのバイトを packedNum にパックます。
packedNum = bitor(packedNum,bitshift(byte2,8)); packedNum = bitor(packedNum,bitshift(byte3,8*2)); packedNum = bitor(packedNum,bitshift(byte4,8*3));
パックされた 32 ビット整数を表示します。
format hex
packedNumpackedNum = uint32
87654321
入力引数
入力値。スカラー、ベクトル、行列または多次元配列として指定します。入力 A と B は、同じサイズであるか、互換性のあるサイズでなければなりません (たとえば、A が M 行 N 列の行列で、B がスカラーまたは 1 行 N 列の行ベクトル)。詳細については、基本的な演算で互換性のある配列サイズを参照してください。また、A と B は、一方が double 型のスカラーでない限り、同じデータ型でなければなりません。
AとBが double 配列で、assumedtypeが指定されていない場合、MATLAB® はAとBを符号なし 64 ビット整数として扱います。assumedtypeが指定されている場合、AとBのすべての要素はassumedtypeの範囲内の整数値でなければなりません。
データ型: double | logical | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
A と B の想定されるデータ型。'uint64'、'uint32'、'uint16'、'uint8'、'int64'、'int32'、'int16' または 'int8' のいずれかを指定します。
AとBが double 配列の場合、assumedtypeには任意の有効な整数型を指定できますが、既定では'uint64'が指定されます。AとBが整数型配列の場合、assumedtypeにはそれと同じ整数型を指定しなければなりません。
データ型: char | string
.NET 列挙オブジェクトとして指定する入力値。入力引数として .NET 列挙オブジェクトを使用するには、Windows® のいずれかのバージョンが稼動していなければなりません。
bitor は、.NET 列挙から作成された MATLAB 列挙オブジェクトのインスタンス メソッドです。
出力引数
ビット単位の OR の結果。配列として返されます。C のデータ型は A および B と同じです。
AまたはBのうち、一方が double 型のスカラーで、他方が整数型の場合、Cは整数型になります。
.NET 列挙オブジェクトとして返される、ビット単位の OR の結果。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
bitor 関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
両方の入力を符号なしの整数配列にすることができます。あるいは一方の入力を符号なしの整数配列にして、他方の入力を double のスカラーにすることができます。
64 ビット整数はサポートされません。
assumedtype引数はサポートされていません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
使用上の注意および制限:
assumedtype引数はサポートされていません。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)