解释“比特串”的最佳方法是什么

时间:2012-12-12 06:00:01

标签: c++

我想知道解释“位串”的最佳方法是什么?

例如:

像“1010010”这样的位字符串被输入到以下函数

void foo (string s1) {
  // some code to do bit manipulation of the bit string
}

最好的方法是什么?非常感谢!!!

2 个答案:

答案 0 :(得分:2)

如果您只想将字符串转换为其整数值,那么std::stoi系列可以提供帮助:

int value = std::stoi("10100"); //value will be 10100, not 20

如果你想操纵字符串表示的位模式,那么std::bitset可能会以某种方式帮助你:

std::bitset<32>  bitpattern("10100"); 

//you can manupulates bitpattern as you wish
//see the member functions of std::bitset

//you can also convert into unsigned long
unsigned long ul = bitpattern.to_ulong();  //ul will be 20, not 10100

答案 1 :(得分:0)

我会使用strtol

实施例

  char *endptr;
  long i = strtol (mystring, &endptr, 2);