1
A
回答
2
http://www.cplusplus.com/reference/stl/bitset/
它們也可以直接插入和從二進制格式的流中提取。
您不需要轉換任何東西,只需將它們寫入輸出流即可。
除此之外,如果您真的想將它們解壓縮到您熟悉的位置,請提供to_ulong
和to_string
方法。
如果你在set中的位數多於unsigned long可以容納的位數,並且不想將它們直接寫出到流中,那麼你要麼轉換爲字符串並轉到該路徑,要麼使用[]
運算符訪問每一位,並將它們轉換爲要寫出的字節。
+2
如你所說,如果我「將它們寫入輸出流」,輸出流將包含一系列'0'和'1'字符。當文檔說「以二進制格式從流中插入和提取」時,我預計8位組將被寫爲字節。例如[code] bitset <8> F(「01000110」); ofstream fs(「test.txt」); fs << F; [/ code]會導致test.txt包含字母'F',而不是字符串「01000110」。 – Ants 2012-06-01 17:27:08
3
假設您正在討論C++ STL位集,答案是將bitset轉換爲int(ulong爲準確),並將結果轉換爲char。
例子:
#include <bitset>
#include <iostream>
using namespace std;
main()
{
bitset<8> x;
char byte;
cout << "Enter a 8-bit bitset in binary: " << flush;
cin >> x;
cout << "x = " << x << endl;
byte = (char) x.to_ulong();
cout << "As byte: " << (int) byte << endl;
}
相關問題
- 1. 8位編碼文件寫入?
- 2. 將位作爲位寫入文件
- 3. GDI將位圖寫入C文件中的文件#
- 4. 將位圖寫入文件中的文本行(C#)
- 5. 將位寫入二進制文件
- 6. 將文件寫入臨時位置
- 7. 將位圖寫入大塊文件android
- 8. 將Geopy位置寫入CSV文件
- 9. 如何將位圖寫入XML文件
- 10. 如何將位集數據寫入文件?
- 11. 如何將單個位寫入C中的文件
- 12. 如何在C++中將位寫入文件?
- 13. 使用c#將文件寫入URL位置
- 14. C中有效的文件保存,將某些位寫入二進制文件
- 15. 將64位解碼的文件轉換爲32位並將其改寫爲C#
- 16. 如何使用outStream.write(msgBuffer)寫入8位;
- 17. VHDL - 將std_logic_vector移位8位
- 18. C++ 11寫入文件也寫出內存位置?
- 19. 寫入文件的特定位置
- 20. 寫入位於EC2上的文件
- 21. ExtAudioFileWrite只寫入文件的第一位
- 22. 如何將8位地址移入x86程序集的16位寄存器?
- 23. 將文件位置/ GPS座標寫入文件
- 24. 將32位位圖保存爲C#中的1位.bmp文件
- 25. 將對象數組寫入正確位置的文本文件
- 26. 將文本寫入.bat文件在Java中的指定位置
- 27. 將數據寫入文本文件中的特定位置
- 28. 將單個位寫入ByteArrayOutputStream
- 29. 將UTF-8字符寫入Ascii文件
- 30. 將列表寫入文件txt(utf-8)
什麼是'BitSet'?它在哪裏定義? – 2012-03-16 11:27:55
將您的'BitSet'轉換爲'FlooBlar',並調用'FileGizmo'對象上的'jifiddle()'成員函數。 – 2012-03-16 11:29:44
你指的是這個嗎? http://www.cplusplus.com/reference/stl/bitset/ – 2012-03-16 11:33:33