主要内容

bitor

位操作或

描述

例子

C= bitor (A、B返回的位或一个而且B

例子

C= bitor (A、Bassumedtype假设一个而且Bassumedtype

objout= bitor (netobj1netobj2返回.NET枚举对象的逐位或netobj1而且netobj2

例子

全部折叠

为逻辑或操作创建真值表。

A = uint8([0 1;0 1]);B = uint8([0 0;1 1]);table = bitor(A, B)
TTable =2x2 uint8矩阵0 1 1 1

bitor如果任意一个位输入为1,则返回1。

MATLAB®使用二的补码对负整数进行编码。例如,要找到2的-5的补表示法,需要取数字(00000101),交换每个位(11111010),然后将结果(11111011).

因此,-5 (11111011)及6 (00000110)为-1 (11111111).

A = -5;bitget (8: 1:1,“int8”
ans =1×81 1 1 1 1 1 0 1 1
B = 6;bitget (b, 8: 1:1,“int8”
ans =1×80 0 0 0 0 1 1 0
C = bitor(a,b,“int8”
C = -1
bitget (c, 8: 1:1,“int8”
ans =1×81 1 1 1 1 1 1 1 1 1

使用bitor而且bitshift将4个8位字节打包到它们组成的32位整数中。

创建四个字节的数据。类型使用十六进制字面值指定数据-u32后缀指定数据应存储为uint32.每个字节包含8位的数据。

Byte4 = 0x87u32;Byte3 = 0x65u32;Byte2 = 0x43u32;Byte1 = 0x21u32;

首先将第一个字节添加为32位无符号整数的前8位。

packkednum = byte1;

接下来,将其他三个字节打包到packedNum,使用bitshift将字节移到适当的位置,并且bitor把比特复制过来。

packkednum = bitor(packkednum,bitshift(byte2,8));packkednum = bitor(packkednum,bitshift(byte3,8*2));packkednum = bitor(packkednum,bitshift(byte4,8*3));

查看打包后的32位整数。

格式十六进制packedNum
packedNum =uint3287654321

输入参数

全部折叠

输入值,指定为标量、向量、矩阵或多维数组。输入一个而且B必须是相同的大小或具有兼容的大小(例如,一个是一个——- - - - - -N矩阵和B是标量或1——- - - - - -N行向量)。有关更多信息,请参见基本操作的兼容数组大小一个而且BAlso必须是相同的数据类型,除非其中一个是标量双精度。

  • 如果一个而且B双数组,和assumedtype未指定,则MATLAB®对待一个而且B作为无符号的64位整数。

  • 如果assumedtype则所有元素都在一个而且B必须在的范围内具有整数值assumedtype

数据类型:|逻辑|int8|int16|int32|int64|uint8|uint16|uint32|uint64

假设数据类型为一个而且B,指定为“uint64”“uint32”“uint16”“uint8”“int64”“int32”“int16”,或“int8”

  • 如果一个而且B那么,是双数组吗assumedtype可以指定任何有效的整数类型,但默认为“uint64”

  • 如果一个而且B是整型数组吗assumedtype必须指定相同的整数类型。

数据类型:字符|字符串

输入值,指定为. net枚举对象。你一定在运行Windows的某个版本®使用. net枚举对象作为输入参数。

bitor是一个实例方法,用于从。net枚举创建的MATLAB枚举对象。

输出参数

全部折叠

按位的OR结果,作为数组返回。C是相同的数据类型一个而且B

  • 如果任何一一个B一个是双标量,另一个是整数类型,那么C整数类型。

逐位的OR结果,作为. net枚举对象返回。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

HDL代码生成
使用HDL Coder™为FPGA和ASIC设计生成Verilog和VHDL代码。

版本历史

R2006a之前介绍