我正在尝试将整数值存储在布尔数组中,但是当我打印出值时,它们只会出现为1和0,我认为它们代表真和假。有没有办法在bool中存储大于1或小于0的值?在此先感谢您的帮助! :d
以下是我正在尝试做的一个示例:
#include <iostream>
#include <string>
using namespace std;
int main(){
bool set[2];
set[0] = 7;
set[1] = 13;
string setNotation = "{"+to_string(set[0])+", "+to_string(set[1])+"}";
cout << setNotation << endl; //prints out as {1, 1} instead of {7, 13}
//note: I have to use to_string to append and not cout << "{" << set[0] << ...
//because I'm using this in a method that returns a string
return 0;
}
答案 0 :(得分:2)
不,bools只设计存储1或0.对此抱歉。你可能想尝试一下int。
答案 1 :(得分:1)
你只能使用bool数组并像二进制一样阅读它,如果这是你想要做的。 因此,例如,整数7由3元素数组表示:
arr[0]=1
arr[1]=1
arr[2]=1
现在你有111(二进制)= 7
答案 2 :(得分:0)
Bool数据类型在内部实现为C ++中的整数,但bool数据类型唯一允许的值是1&0; s和0&#39; s。因此,您不能将除1和0之外的任何其他值存储在bool类型的变量中。