2012-04-17 22 views
12

私は、文字列クラスを使用して文字列をバイナリに変換したい。文字でこの文字をすばやく行う方法は何ですか?ループ?それとも、私のために変換する機能がありますか? 1と0のバイナリ。文字列をバイナリに変換する最速の方法は?

文字列ビーイング:std::bitsetを使用して

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

あなたがこれをしたい:http://stackoverflow.com/questions/505021/get-bytes-from-stdstring-in-c – Serdalis

+0

@Serdalis私は実際に何が起こっているのか分かりません。 – Derp

+0

あなたは "Hello、world"の出力として何を見たいですか? 11 * 8文字列のバイナリASCIIコードを表す '0'または' 1'文字など – dasblinkenlight

答えて

29

が働くだろう:

#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 
+13

ちょうど 'bitset <8>(myString [i])' –

+1

だからビットセット<8>は、あなたはbase-255かbase-257だけに-1と+1を加えたいと思っていますか? – pyCthon

+0

MSB側の合計の最後にオーバーフロービット(0または1)がある場合、合計の最終的な答えに再び加算されるような出力を合計したい場合は、どうしたらいい? – user899714

関連する問題