我想在用戶給出的二進制輸入中使用C++進行二進制操作,即XOR。用戶只能輸入一個零和一個序列。我如何聲明一個變量來接受輸入1和0作爲二進制位?如何接受來自C++用戶的二進制輸入?
回答
的簡便方法是使用std::bitset
。如果您查看其constructors,可以從多個數據源構建一個位集,包括std::string
和C風格的字符串。構造函數在輸入無效的情況下驗證輸入並拋出異常。您可以直接使用其bitwise operators。 XOR是operator^
。
std::bitset
是一個固定大小的容器,因此您必須將最大預期長度指定爲constexpr
值。
我不確定bitset是否允許我讓用戶指定輸入序列的長度?! –
是否將constexpr啓用可變大小的序列?我想要的程序要求用戶在輸入序列本身之前輸入序列的長度。 –
@MohamedAhmed正如我所說的,大小是固定的,即在編譯時已知。這可能只是最大值,例如256位。用戶只需輸入不應超過該長度的字符串表示。 – iavr
將序列作爲字符串獲取,然後使用strtol和base 2 |或創建自己的函數將字符串轉換爲整數(這並不難)|或直接使用字符串(字符串[我] - '0')^ ...
打開你的心;)
- 1. 接受來自Activity的用戶輸入
- 2. 來自二進制輸入的頻率
- 3. 如何接受來自用戶的輸入在JUnit控制檯下面給出
- 4. C++控制檯窗口僅接受來自USB的輸入
- 5. 如何接受來自C#
- 6. 如何接受來自JButtons輸入的鍵盤輸入?
- 7. 接受用戶的輸入
- 8. C++中的二進制輸入/輸出
- 9. 如何接受用戶輸入php
- 10. 只接受來自用戶的唯一輸入到ArrayList
- 11. 接受來自Tkinter的輸入
- 12. 接受用戶輸入perl
- 13. 在套接字編程中接受來自客戶端的用戶輸入
- 14. 你如何改變這個,所以它接受來自用戶的輸入
- 15. 如何在裝配中接受來自用戶的多個輸入
- 16. 如何在觸發報警後接受來自用戶的輸入
- 17. C#保存用戶輸入的二進制
- 18. TextBox.Text只接受十進制輸入
- 19. 在python中用二進制搜索樹輸入用戶輸入
- 20. 輸入[時間]不接受來自控制器的值
- 21. 接受來自命令行的輸入C
- 22. 如何在程序運行時接受來自stdin的輸入
- 23. 如何接受來自兩個文本框之一的輸入
- 24. 如何接受來自文本框的輸入
- 25. PHP到C#的轉換。接受用戶輸入/操作用戶輸入
- 26. 客戶端套接字不接受來自cmd的任何輸入
- 27. haskell方式接受用戶輸入的用戶輸入次數?
- 28. 自定義二進制輸入 - Hadoop
- 29. 如何將來自用戶php的輸入與MySQL的輸入進行比較
- 30. 來自用戶的輸入
將它們作爲字符串? – taocp
以字符串形式讀取,然後驗證輸入。 –
我實際上是C++和編程的初學者。我如何驗證輸入?爲了什麼目的? –