【发布时间】:2017-06-04 21:54:26
【问题描述】:
TL:DR我有一个 10 位整数,并希望将其作为二进制数存储在数组中。
假设我有一个从 0 到 1023 的整数,我希望将该数字转换为 10 位二进制数,然后将其放入一个布尔数组中。这是我目前所做的。
void toBinary(bool *binary)
{
string binaryStr = bitset<10>(myValue).to_string(); //to binary
for (int i = 0; i < 10; i++) binary[i] = binaryStr[i] - '0';
}
还有比这更好的方法吗?我将对此进行一些视频处理,并在 Pi 上运行它,因此我需要我的程序尽可能轻巧快速。
【问题讨论】:
-
为什么要转换成字符串?为什么不直接从 bitset 到 bool 缓冲区呢?
-
@PaulMcKenzie:这是我知道的唯一方法。
.to_ulong对我来说并不是很有效。这就是我想要摆脱的。 -
也许你错过了
bitset<10>可以存储在一个变量中,然后在循环中使用该变量?
标签: c++ arrays raspberry-pi boolean vision