19

文字列クラスを使用して文字列をバイナリに変換したい。この文字を文字ごとに行うための高速な方法は何ですか。ループ?または、私のために変換する関数がそこにありますか? 1 と 0 のバイナリ。

文字列は次のとおりです。

#include <string>
using namespace std;
int main(){
  myString = "Hello World";
}
4

3 に答える 3

42

使用std::bitsetするとうまくいきます:

#include <string>
#include <bitset>
#include <iostream>
using namespace std;
int main(){
  string myString = "Hello World";
  for (std::size_t i = 0; i < myString.size(); ++i)
  {
      cout << bitset<8>(myString.c_str()[i]) << endl;
  }
}

出力:

01001000
01100101
01101100
01101100
01101111
00100000
01010111
01101111
01110010
01101100
01100100
于 2012-04-17T02:25:25.553 に答える