This question already has answers here:
Can a bool variable store more than 0x01?

(6个答案)


4年前关闭。




bool is 8 bits long

如上所述, bool(boolean) 值是8位长。
因此可以在bool变量中发送值2。




(十进制表示)

例如:bool x;
如何在 bool(boolean) 变量“x”中发送此“2”?

谢谢

最佳答案

不是在C++中,不是。 bool可以包含truefalse。如果不先调用未定义的行为,就无法将2存储在bool中。一旦调用了未定义的行为,任何事情都可能发生。 (包括与重要客户进行演示时的期望)。

另外,bool不一定是8位长。它必须至少与char一样大(因为sizeof(bool)必须至少为1),并且unsigned char可以容纳的值范围的限制意味着它必须至少为8位。 OTOH,没有比使用bool大的char停止实现的了,实际上有char是32或64位(主要是DSP芯片)的实现。

关于c++ - 是否可以在bool中发送十进制值(8位)?如果是,那么如何? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39610633/

10-11 23:22
查看更多