您现在的位置是:影视综艺

c++中的boolean和bool有什么不同。,bool和BOOL有什么区别?

2020-10-15 02:45影视综艺

简介1、类型 : BOOL为int型 , bool为布尔型 2、不同 : bool只个字 , BOOL长度视实际环境来定,一般可认为是4个字节 3、取值不同 :bool取值false和tr c++中的boolean和bool有什么不同。...

1、类型 :   BOOL为int型 ,  bool为布尔型   

2、不同  : bool只个字  , BOOL长度视实际环境来定,一般可认为是4个字节 

3、取值不同  :bool取值false和true,是0和1的区别; false可以代表0,但true有很多种,并非只有1。  

4、bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。

扩展资料:

C99标准定义了一个新的关键字_Bool,提供了布尔类型。以前,C程序员总是使用自己的方法定义布尔类型。0表示false,非0表示true。

可能使用char类型表示一个布尔类型,也可能使用int类型表示一个布尔类型。

很多函数库都定义了自己的布尔类型和相应的宏,枚举,typedef。C99把C语言原生的布尔类型带来了。C99中同时增添的关键字还有_Complex,_Imaginary等。

参考资料来源:百度百科—BOOL

-

下面是更多关于bool的问答

objective-c 中的BOOL 实际上是一种对号的字符signed char)的类型定义(typedef),它使用8位的存储空间。通过#define把YES定义为1,NO定义为0。

  注意:objective-c 并不会将BOOL作为仅能保存YES或NO值的真正布尔类型来处理。编译器仍将BOOL认作8位二进制数,YES 和 NO 值只是在习惯上的一种理解。

如果不小心将一个大于1字节的整型值(比如short或int)赋给一个BOOL变量,那么只有低位字节会用作BOOL值。如果该低位字节刚好为0(比如8960,写成十六进制为0x2300),BOOL值将会被认作是0,即NO值。而对于bool类型,只有true和false的区别,即0为false,非0为true。

  例如:

  BOOL b1=8960; // 实际是 NO,因为8960换成十六进制为0x2300,BOOL 只有8位存储空间,取0x2300的低8位,00,所以是NO

  bool b2=8960;//实际是true,因为bool类型,非0即为true。 本回答被网友采纳 1、类型不同

BOOLint型

bool为布尔型

2、长度不同

bool只有一个字节

BOOL长度视实际来定,一般可认为4节

3、取值不同

bool取值false和true,是0和1的区别

BOOL取值FALSE和TRUE,是0和非0的区别

BOOL是微软定义的typedef

int

BOOL(在windef.h中),0为FALSE,1为TRUE。(-1和2既不是TRUE也不是FALSE)。

bool取值false和true,0为false,非0为true。(例如-1和2都是true)。 bool 类型的数据 在内存中只有一位 或0 或1

int 类型的数据 在内存中有16位或32位

看 编译环境了 bool为型,只有一个字节,取值false和true,是0和1别.比:

class myclass {

public:

myclass(int a, int b):first(a), second(b){}

int first;

int second;

bool operator < (const myclass &m)const {

return first < m.first;

}

};

bool less_second(const myclass & m1, const myclass & m2) {

return m1.second < m2.second;

}

这里bool的意思是bool类型值

bool有两个值:true和false c中没有BOOL,只有bool。在window中,微软把bool定义为BOOL 追问
哦我已经懂了
虽然两个类型区别还是有的。 (bool)可以说能转换所有的类型。当然,这个类型转换后要能够符合bool类型,否则出异常。bool.Parse()只能转换string类型。如果是另外的类型,就会出异常。

Tags:bool,bool和BOOL有什么区别?,c++中的bool