gpt4 book ai didi

C++ bool 代数

转载 作者:行者123 更新时间:2023-11-30 01:20:34 29 4
gpt4 key购买 nike

我已经将一些变量声明为 bool 值,我希望 C++ 在我进行一些 bool 加法时知道该做什么,但它并没有按照我希望的方式发生。我如何让它工作。

#include<iostream>

using namespace std;

int main()
{
bool x,j;
x=0;
j=1;
for(int i=0;i<10;i++)
{
cout << x;
x=x+j;
}
return 0;
}

我得到的输出为

011111111

虽然我希望得到

0101010101

我希望 bool 变量会减去 2。所以如果

x=1 then
x+1 = 0
x+1+1=1
x+1+1+1=0

等等。

我是否混淆了 bool 代数和 base-2 代数?

谢谢

最佳答案

bool x,j;
x=x+j;

此语句在添加它们之前自动将 xj 提升为类型 int。然后赋值以通常的方式转换回 bool:0 变为 false,但任何其他数字,包括 2,变为 true

您可以使用 ^ (xor) 运算符代替 Z_2 加法:

x = x^j;

关于C++ bool 代数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19215971/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com