bitor
按位 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 将四个 8 位字节打包为它们组成的 32 位整数。
创建四个字节的数据。用十六进制字面值指定数据,使用 -u32 后缀指定数据应存储为 uint32。每个字节包含 8 位数据。
byte4 = 0x87u32; byte3 = 0x65u32; byte2 = 0x43u32; byte1 = 0x21u32;
首先将第一个字节作为 32 位无符号整数的前 8 位相加。
packedNum = byte1;
接下来,将其他三个字节打包到 packedNum 中,使用 bitshift 将字节移至正确的位置,使用 bitor 将位复制过来。
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 还必须为相同的数据类型,除非其中一个是双精度标量值。
如果
A和B是双精度数组,并且未指定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是双精度数组,assumedtype可以指定任何有效的整数类型,但默认为'uint64'。如果
A和B是整数类型数组,则assumedtype必须指定相同的整数类型。
数据类型: char | string
输入值,指定为 .NET 枚举对象。必须运行某个 Windows® 版本才能将 .NET 枚举对象用作输入参量。
bitor 是从 .NET 枚举创建的 MATLAB 枚举对象的实例方法。
输出参量
按位 OR 结果,以数组形式返回。C 的数据类型与 A 和 B 相同。
如果
A或B为双精度标量值,并且另一个为整数类型,则C为整数类型。
按位 OR 结果,作为 .NET 枚举对象返回。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
bitor 函数支持 GPU 数组输入,但有以下用法说明和限制:
两个输入可以都是无符号整数数组,或者一个输入是无符号整数数组,另一个输入是双精度标量。
不支持 64 位整数。
不支持
assumedtype参量。
有关详细信息,请参阅在 GPU 上运行 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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)