MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
设置指定位置的位
intout = bitset(A,bit)
intout = bitset(A,bit,assumedtype)
intout = bitset(A,bit,V)
intout = bitset(A,bit,V,assumedtype)
intout = bitset(A,bit) 返回 A 的值,并将位置 bit 设置为 1(打开)。
intout
A
bit
示例
intout = bitset(A,bit,assumedtype) 假定 A 的类型为 assumedtype。
assumedtype
intout = bitset(A,bit,V) 返回 A,并将位置 bit 设置为 V 的值。
V
如果 V 为零,则位的位置 bit 将设置为 0(关闭)。
如果 V 为非零,则位的位置 bit 将设置为 1(打开)。
intout = bitset(A,bit,V,assumedtype) 假定 A 的类型为 assumedtype。
全部折叠
将 2 的幂与某个数字相加。
A = 4; intout = bitset(A,4:6)
intout = 1×3 12 20 36
您可以看到,bitset 按顺序打开位 4 至 6。
bitset
c = dec2bin(intout)
c = 3×6 char array '001100' '010100' '100100'
如果指定超出 assumedtype 范围的整数,MATLAB® 会引发错误。例如,bitset(300,5,'int8') 将返回错误,因为 int8 整数的最大值为 127。
bitset(300,5,'int8')
int8
通过将输入限制在指定数据类型的范围内可以避免此错误。
intout = bitset(75,5,'int8')
intout = 91
用某个数字反复减去 2 的幂。
a = intmax('uint8')
a = uint8 255
for k = 0:7 a = bitset(a, 8-k, 0); b(1,k+1) = a; end b
b = 1×8 uint8 row vector 127 63 31 15 7 3 1 0
将多个位设置为不同值
bits = 2:6; val = [1 0 0 1 1]; intout = bitset(0,bits,val,'int8')
intout = 1×5 2 0 0 16 32
输入值,指定为数组。A、bit 和 V 每个都可以是标量或大小相同的数组。
如果 A 为双精度数组,并且未指定 assumedtype,则 MATLAB® 会将 A 视为无符号的 64 位整数。
如果已指定 assumedtype,A 中的所有元素必须是 assumedtype 类型范围内的整数值。
数据类型: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
double
int16
int32
int64
uint8
uint16
uint32
uint64
位的位置,指定为整数或整数数组。A、bit 和 V 每个都可以是标量或大小相同的数组。bit 的值必须介于 1(最低有效位)和 A 的整数类中的位数之间。
'uint64'
'uint32'
'uint16'
'uint8'
'int64'
'int32'
'int16'
'int8'
假定的 A 的数据类型,指定为 'uint64'、'uint32'、'uint16'、'uint8'、'int64'、'int32'、'int16' 或 'int8'。
如果 A 是双精度数组,assumedtype 可以指定任何有效的整数类型,但默认为 'uint64'。
如果 A 是整数类型数组,assumedtype 必须指定相同的整数类型。
数据类型: char | string
char
string
位的值,指定为标量或数值数组。A、bit 和 V 每个都可以是标量或大小相同的数组。
数据类型: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
logical
调整后的整数,以数组形式返回。intout 的数据类型与 A 相同。
如果 A、bit 和 V 都是标量,则 intout 也是标量。
如果 A、bit 或 V 中的任何一个为数组,则 intout 的大小与该数组相同。
全部展开
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
bitset 函数支持 GPU 数组输入,但有以下用法说明和限制:
输入值 A 和位的位置 bit 中有至少一个必须为整数数据类型。
不支持 assumedtype 参量。
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2006a 之前推出
bitand | bitcmp | bitget | bitor | bitshift | bitxor | intmax
bitand
bitcmp
bitget
bitor
bitshift
bitxor
intmax
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处