我有一个浮点值数组。基于阈值将阵列转换为二进制值阵列。 e.g
A = 0.3,1.3,4.4,6.4;
如果阈值= 4
A = 0,0,1,1;
现在,我想将其转换为bitset。有没有一种简单的方法可以做到。
我是编程新手,如果问题太愚蠢,那就很抱歉。
由于
答案 0 :(得分:1)
float floats[16] = {/*...*/};
std::bitset<16> bits;
for(size_t i = 0; i < 16; ++i)
bits.set(i, floats[i] < 4);
答案 1 :(得分:1)
当循环遍历时,您可以直接将浮点数组转换为std::bitset
:
std::array<float, N> values = {...};
std::bitset<N> bitset;
for (std::size_t i = 0; i < values.size(); ++i) {
bitset[i] = (values[i] > threshold);
}