2012-04-17 132 views
12

我想使用字符串類將字符串轉換爲Binary。什麼是按角色來做這個角色的快速方法。循環?還是有一些功能可以幫我轉換? 1和0的二進制。將字符串轉換爲二進制的最快方法?

一個字符爲:

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

:http://stackoverflow.com/questions/505021/get-bytes-from-stdstring-in-c – Serdalis 2012-04-17 02:11:12

+0

@Serdalis我真的不知道那裏發生了什麼。 – Derp 2012-04-17 02:14:50

+0

您希望將「Hello,world」的輸出看作什麼?代表字符串字符的二進制ASCII碼的11 * 8'0'或'1'字符,還是別的? – dasblinkenlight 2012-04-17 02:15:17

回答

29

使用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 
你想要這個
+13

或只是'bitset <8>(myString [i])' – 2012-04-17 02:37:46

+1

所以bitset <8>會給你base-256,if你想說base-255或base-257只需加上-1和+1? – pyCthon 2013-01-02 19:34:39

+0

如果我們想對輸出進行求和,如果在MSB端的總和結束時有一個溢出位(0或1),那麼應該再次將它添加到總和的最終答案中。我們怎麼做到這一點? – user899714 2013-11-05 21:01:20

相關問題