将数组的布尔值推入uint8位域

约翰·杜

假设我有:

myArray[7] = {TRUE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE}

uint8 mybitfield;

0=FALSE将这些值“推”到uint8位字段的最有效方法是1=TRUE

因此,mybitfield表示为:

[1,0,0,1,1,0,0,0] 

(最低有效位将不被考虑,并且将始终为0)。

谢谢!

胸部

如前所述,您必须逐个遍历位,例如:

int myArray[7] = {TRUE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE};

uint8_t bitfield = 0;
for (int i = 0; i < 7; ++i) {
    bitfield |= myArray[i] ? 1 : 0;
    bitfield <<= 1;
}

这导致0b10011000,即,数组首先具有最高有效位,而对于最低有效位具有隐式零。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular.js-如何根据布尔值将项目推入数组

来自分类Dev

如何将布尔值推入数组?“未定义”错误

来自分类Dev

位操作;将16位值转换为16个布尔值的数组?C语言

来自分类Dev

ClickHouse:使用Uint8上的LowCardinality字段作为布尔值有意义吗?

来自分类Dev

将4位整数转换为布尔值列表

来自分类Dev

将位掩码转换回9个布尔值

来自分类Dev

将位掩码转换回9个布尔值

来自分类Dev

使用python将numpy数组转换为uint8

来自分类Dev

将uint8数组转换为图像

来自分类Dev

将 [UInt8] 数组转换为 xinpgen 结构

来自分类Dev

numpy中的内置函数可以按位方式将整数解释为布尔值数组吗?

来自分类Dev

C++:如何将 uint32 中的相关位放入 uint8?

来自分类Dev

将数组内的布尔值转换为if语句

来自分类Dev

将python列表转换为numpy数组布尔值

来自分类Dev

将值推入数组

来自分类Dev

为什么要使用1bit位域而不是布尔值?

来自分类Dev

将位域转换为uint8_t

来自分类Dev

将uint8转换为uint8 []

来自分类Dev

将uint8转换为uint8 []

来自分类Dev

使用布尔值或布尔值声明数组

来自分类Dev

布尔值的按位运算

来自分类Dev

位向量与布尔值性能列表

来自分类Dev

按位与如何与布尔值交互?

来自分类Dev

将“ uint8 RGB像素”转换为“ uint8灰度像素”值的公式是什么?

来自分类Dev

将多个uint8和uint16合并为1个字节的数组

来自分类Dev

如何交换uint8数组的行?

来自分类Dev

将布尔值[True,False,False ...]的SEQUENCE更改为位字符串序列

来自分类Dev

获取uint8 Mat的像素值

来自分类Dev

Javascript:将数组推入数组与将值推入数组?