将整数值存储在bool变量中

时间:2014-03-19 19:35:37

标签: c++ string int boolean

我正在尝试将整数值存储在布尔数组中,但是当我打印出值时,它们只会出现为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;
}

3 个答案:

答案 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类型的变量中。