1

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

例如:

像“1010010”这样的位串被提供给以下函数

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

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

4

2 回答 2

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
于 2012-12-12T06:02:39.997 回答
0

我会使用strtol

例子:

  char *endptr;
  long i = strtol (mystring, &endptr, 2);
于 2012-12-12T06:04:15.783 回答