我想在用户给出的二进制输入中使用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++和编程的初学者。我如何验证输入?为了什么目的? –