标签: bitset

在 C++ 中操作位集

我正在寻找对二进制字符串的一些 STL 支持。bitset似乎非常有用,但是我无法成功地操作各个位。

#include <iostream>
#include <bitset>

using namespace std;

int main()
{
    string b = bitset<8>(128).to_string();

    for(auto &x:b)
    {
        x = 1 and x-'0' ; cout<<b<<"\n";
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

那么,我应该使用 vector 还是 bitset 来操作单个位?

上面的程序给出:

?0000000
? 000000
?  00000
?   0000
?    000
?     00
?      0
?
Run Code Online (Sandbox Code Playgroud)

我知道发生这种情况是因为我正在操作 char,当设置为 0 时会打印关联的 ascii 字符。我的问题是我可以遍历一个位集并同时修改单个位吗?

例如我肯定不能在下面做:

#include <iostream>       
#include <string>         
#include <bitset>        
int main ()
{
  std::bitset<16> baz (std::string("0101111001"));
  std::cout << "baz: " << baz << …
Run Code Online (Sandbox Code Playgroud)

c++ stl bitset

-2
推荐指数
1
解决办法
1667
查看次数

在C++中显示浮点类型的二进制表示

请考虑以下用于整数类型的代码:

template <class T>
std::string as_binary_string( T value ) {
    return std::bitset<sizeof( T ) * 8>( value ).to_string();
}

int main() {
    unsigned char a(2);
    char          b(4);

    unsigned short c(2);
    short          d(4);

    unsigned int   e(2);
    int            f(4);

    unsigned long long g(2);
    long long h(4);

    std::cout << "a = " << +a << " " << as_binary_string( a ) << std::endl;
    std::cout << "b = " << +b << " " << as_binary_string( b ) << std::endl;
    std::cout << "c = …
Run Code Online (Sandbox Code Playgroud)

c++ std binary-data bitset

-2
推荐指数
1
解决办法
1138
查看次数

如何检查bitset中的位是0还是1?

我有一个bitset,我想检查一个特定索引的位是零还是一个.

java indexing bit bitset

-3
推荐指数
1
解决办法
824
查看次数

为什么Bitset允许的值不同于1和0?

我尝试BitSet在java中学习集合.我已经读过它使用里面的位.

位集的每个*分量都具有{@code boolean}值

我写了一个小应用程序:

BitSet bitSet = new BitSet();
bitSet.set(9);
bitSet.set(5);
bitSet.set(3);
System.out.println(bitSet);
System.out.println(Arrays.toString(bitSet.toByteArray()));
Run Code Online (Sandbox Code Playgroud)

我想知道我可以将值与1和0区分开来.

另外我不明白输出:

{3, 5, 9}
[40, 2]
Run Code Online (Sandbox Code Playgroud)

请解释一下这个系列的用法?

java bitset

-11
推荐指数
2
解决办法
193
查看次数

标签 统计

bitset ×4

c++ ×2

java ×2

binary-data ×1

bit ×1

indexing ×1

std ×1

stl ×1