如何根据浮点值条件数组设置bitset中的值?

时间:2014-05-31 12:21:37

标签: c++ bitset

我有一个浮点值数组。基于阈值将阵列转换为二进制值阵列。 e.g

A = 0.3,1.3,4.4,6.4;

如果阈值= 4

A = 0,0,1,1;

现在,我想将其转换为bitset。有没有一种简单的方法可以做到。

我是编程新手,如果问题太愚蠢,那就很抱歉。

由于

2 个答案:

答案 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);
}