我有兩個值,0和30,我需要將它的二進制表示存儲在每個字節上。像:如何將int轉換爲二進制並連接爲C++中的字符
字節0 = 00000000
字節1 = 00011110
,然後將它們連接起來的一個字符串,將打印ASCII爲0(NULL)和30(記錄分隔符)。所以,不要打印「030」,但是我不能在這裏真正正確地打印,而且這些命令也不能正確打印。我知道這些不是很好的印刷品。
我在做這樣的:如果
string final_message = static_cast<unsigned char>(bitset<8>(0).to_ulong());
final_message += static_cast<unsigned char>((bitset<8>(answer.size())).to_ulong()); // where answer.size() = 30
cout << final_message << endl;
不知道它是正確的,我從來沒有因爲位集現在的工作。我認爲這是對的,但收到我的消息的服務器不斷告訴我這些數字是錯誤的。我很確定我需要的數字是0和30,因此,作爲唯一的部分,我不確定它的工作原理是那三條線,我在這裏提出這個問題。
這三條線是對的?有更好的方法來做到這一點?
你需要了解你想要什麼非常清楚 – pm100