gpt4 book ai didi

c++ - 在 C++ 中打印一个 bool 值

转载 作者:太空狗 更新时间:2023-10-29 23:23:15 29 4
gpt4 key购买 nike

当我运行这个简单的代码时,

int main(int argc, const char * argv[])
{
bool digit(true);
std::cout << digit << " " << ~digit << std::endl;
}

输出是

1 -2

我期待 1 和 0(真假)。我在这里遗漏了什么吗?

最佳答案

~ 执行按位取反。操作数被提升(在本例中)为 int,并且所有位都被反转。 1 有 00....001 的二进制表示,所以这给出了二进制值 11....110,它被解释(在大多数现代计算机上)为-2.

使用 ! 进行逻辑否定。

关于c++ - 在 C++ 中打印一个 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408131/

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