主要内容

比特斯特

在特定位置设置位

描述

例子

intot= bitset(一个,,,,少量返回的价值一个有位置少量设置为1(ON)。

例子

intot= bitset(一个,,,,少量,,,,假设假设一个是类型假设

例子

intot= bitset(一个,,,,少量,,,,v返回一个有位置少量设置为v

  • 如果v为零,然后位置少量设置为0(OFF)。

  • 如果v是非零的,然后是位位置少量设置为1(ON)。

例子

intot= bitset(一个,,,,少量,,,,v,,,,假设假设一个是类型假设

例子

全部收缩

将2的功率添加到一个数字上。

a = 4;intout = bitset(a,4:6)
intout =1×312 20 36

你可以看到比特斯特依次打开位4至6。

c = dec2bin(intout)
C =3x6字符阵列'001100''010100''100100'

MATLAB®如果在范围内指定整数假设。例如,比特斯特(300,5,'int8')返回错误,因为int8整数为127。

通过将输入限制为指定数据类型的范围来避免此错误。

intout = bitset(75,5,'int8'
intout = 91

反复从数字中减去2的功率。

a = intmax('uint8'
a =UINT8255
为了k = 0:7 a = bitset(a,8-k,0);b(1,k+1)= a;结尾b
b =1x8 UINT8行矢量127 63 31 15 7 3 1 0

将多个位设置为不同的值

位= 2:6;val = [1 0 0 1 1];intout = bitset(0,位,val,val,'int8'
intout =1×52 0 0 16 32

输入参数

全部收缩

输入值,指定为数组。一个,,,,少量, 和v每个都可以是相同大小的标量或数组。

  • 如果一个是双阵列,假设未指定,然后是matlab®零食一个作为一个未签名的64位整数。

  • 如果假设指定,然后在一个必须在范围内具有整数值假设

数据类型:双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64

位位置,指定为整数或整数数组。一个,,,,少量, 和v每个都可以是相同大小的标量或数组。值少量必须在1(最小显着的位)和整数类中的位数之间一个

数据类型:双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64

假定的数据类型一个,指定为'uint64',,,,'uint32',,,,'uint16',,,,'uint8',,,,'int64',,,,'int32',,,,'int16', 或者'int8'

  • 如果一个是双阵列,然后假设可以指定任何有效的整数类型,但默认为'uint64'

  • 如果一个是整数类型数组,然后假设必须指定相同的整数类型。

数据类型:char|细绳

位值,指定为标量或数字阵列。一个,,,,少量, 和v每个都可以是相同大小的标量或数组。

数据类型:双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|逻辑

输出参数

全部收缩

调整后的整数,返回为数组。intot与数据类型相同一个

  • 如果一个,,,,少量, 和v都是标量intot也是标量。

  • 如果有一个,,,,少量, 或者v是一个数组,然后intot与该数组的大小相同。

扩展功能

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

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

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

版本历史记录

在R2006a之前引入