object-c中的BOOL类型

object-c中的布尔类型比C语言中的bool类型早了10年,它具有YES和NO两种值。在object-c中的布尔类型BOOL实际上是一种带符号的字符类型(signed char),它使用的空间是1byte,即8bit,其中YES定义为1,NO定义为0。将大于1字节的整形数(比如short或者int)赋给BOOL变量,会被截断处理,只保留末尾的8个bit。

以下是object-c中使用BOOL类型的例子:

#import <Foundation/Foundation.h>
//比较两个int数是否一样
BOOL areINTsDifferent(int thing1,int thing2){
    if(thing1==thing2)
        return NO;
    else
        return YES;
}
//返回BOOL类型的数对应的NSString字符串
NSString * boolString(BOOL yesNo){
    if(yesNo==YES)
        return @"YES";
    else
        return @"NO";

}
int main(int argc, const char * argv[]) {
    BOOL areTheyDifferent ;
    areTheyDifferent= areINTsDifferent(6,6);
    //下面的%@表示NSString占位符
    NSLog(@"are %d and %d different? %@",6,6,boolString(areTheyDifferent));
    areTheyDifferent = areINTsDifferent(23,42);
    NSLog(@"are %d and %d different? %@",23,42,boolString(areTheyDifferent));
    return 0;
}

输出的结果:

2016-04-04 23:18:48.964 hello-obj[1267:84194] are 6 and 6 different? NO
2016-04-04 23:18:48.965 hello-obj[1267:84194] are 23 and 42 different? YES
时间: 2024-10-09 02:26:28

object-c中的BOOL类型的相关文章

黑马程序员----OC中含有BOOL类型

一.BOOL类型 OC中有布尔类型 BOOL(C语言中没有布尔类型) 二.BOOL类型的本质 typedef signed char BOOL; 三.BOOL类型的取值范围 BOOL类型的变量又2种取值:YES .NO #define YES (BOOL)1 #define NO (BOOL)0 四.代码练习: 运行结果:

ObjectC中的BOOL类型

绝不要直接将BOOL值和YES比较 Objective-C中的BOOL实际上是一种带符号的的字符类型(signed char)的定义,它使用8位存储空间.YES定义为1,而NO定义为0. #import <Foundation/Foundation.h> BOOL areIntsDifferent(int things1, int things2) { if(things1 == things2) return (NO); else return (YES); }//areIntsDiffer

Python中的bool类型

Python 布尔类型 bool python 中布尔值使用常量True 和 False来表示:注意大小写 比较运算符< > == 等返回的类型就是bool类型:布尔类型通常在 if 和 while 语句中应用 这边需要注意的是,python中,bool是int的子类(继承int),故 True==1  False==0 是会返回Ture的,有点坑,如要切实判断用 xxx is True 1 print(True==1) # 返回True 2 print(False==0) # 返回True

解决用Jquery实现 Checkbox 显示后台Bool类型数据时出现的Bug

最近在进行一个EasyUI框架的搭建过过程中,需要把数据库中的Bool类型用Checkbox来显示,开始写的是 $("chkIsMech").checked=Json.IsMenu, 后来又试了$("#chkIsMenu").attr("checked", json.IsMenu);同样不行.又百度了好多,终于有篇文章出现了同样的问题,欣喜之余赶紧粘过来: document.getElementById("chkIsMenu"

bool和BOOL类型知识集合

知识点一.C语言中有bool类型吗? 转自http://blog.csdn.net/liuqiqi677/article/details/6703615 之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数中定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)中编译居然报错了,说是bool类型没有定义.用了这么久的C和C++了,一直觉得bool这种基本类型,应该是C语言内置的类型,怎么会没有定义呢?事实证明,我的想法完全错误了. 有了网络,一切问题都变得那么容易了

c语言中有自己的bool类型

有人说c语言中没有bool类型,只有c++中有,果真如此? 先看没有bool类型时,c中表示bool类型的方法: 1. typedef int bool; #define false 0 #define true 1 2. typedef int bool; enum { false, true }; 3. typedef enum { false, true }bool; 简单实例如下: #include <stdio.h> //1 //typedef int bool; //#define

c++中istream类型到bool类型的隐式转换

事情的起因是见到了这种用法: while(cin>>m>>n&&m&&n) { } 现在分析一下,cin>>m>>n返回的是一个对istream类型的引用,然后这个返回值又与m做&&运算.已知这种写法是合法的. 可能有两种情况:(1)&&运算符被重载,允许接收istream类型的值. (2)istream类中有成员能将istream类型转换为bool类型. 翻看手册,发现是第二种情况.http:

JavaScript基础 null:object 类型,转成bool类型是 :false Boolean()系统函数

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

一起talk C栗子吧(第一百六十八回:C语言实例--C语言中的布尔--bool类型)

各位看官们,大家好,上一回中咱们说的是控制终端字符颜色的例子,这一回咱们说的例子是:C语言中的布尔–bool类型 .闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,在数字电路中我们经常会遇到布尔类型,其实在编写软件的过程中也会使用布尔类型.布尔类型的变量只有两种值:真和假.在实际的编程过程中,我们经常定义宏,然后使用1表示真,0表示假.下面是具体的例子: #define TRUE 1 #define FALSE 0 例子中定义了两个宏,一个是TRUE,它的值是1,表示真:另外一个是F