假设我有:
myArray[7] = {TRUE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE}
uint8 mybitfield;
用0=FALSE
,1=TRUE
将这些值“推”到uint8位字段的最有效方法是什么>
因此mybitfield
表示为:[1,0,0,1,1,0,0,0]
(最低有效位将不被考虑,并且将始终为0)。
谢谢!
假设我有:myArray [7] = {TRUE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE} uint8 mybitfield;用0 = FALSE,1 = TRUE将这些值“推”到uint8位字段的最有效方法是什么...
myArray
是某种通用整数类型,实际上除了遍历数组中的所有项目外,别无其他方法,如果为TRUE,则将i
设置为bitfield |= 1u << i;
。