如何在c++中接受用户的二进制输入

How to accept binary input from user in C++?

本文关键字:用户 二进制 输入 c++      更新时间:2023-10-16

我想在c++中对用户给出的二进制输入做一个二进制操作,即异或。用户将只输入一个由0和1组成的序列。我如何声明一个变量来接受输入1和0作为二进制位?

一种方便的方法是使用std::bitset。如果您看一下它的构造函数,就会发现有从多个数据源(包括std::string和c风格字符串)构造位集的选项。构造函数验证输入,并在给出无效输入时抛出异常。

可以直接使用它的位操作符。XOR = operator^

std::bitset是一个固定大小的容器,因此您必须指定constexpr值的最大期望长度。

获取序列作为字符串,然后使用以2为基数的strtol |或创建自己的函数将字符串转换为整数(这并不难)|或直接使用字符串(string[i]-'0')^…

敞开心扉;)