BOOL的赋值
来源:互联网 发布:斧声烛影 知乎 编辑:程序博客网 时间:2024/06/06 02:53
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(比如256,写成十六进制为0x10),BOOL值将会被认作是0,即NO值。而对于bool类型,只有true和false的区别,即0为false,非0为true。
举例:
BOOL a;
a = 256;
NSLog(@”%@”,a?@”YES”:@”NO”);
结果:NO
实际上:因为bool类型,非0即为true。但是将256的倍数赋值给BOOL,都将得到结果NO;
0 0
- BOOL的赋值
- bool型变量的赋值和运算
- 使用bool 类型变量赋值时的一个错误
- BOOL和bool的区别
- BOOL和bool的区别
- BOOL 和 bool 的区别
- BOOL和bool的区别
- BOOL和bool的区别
- BOOL 与bool 的区别
- BOOL和bool的区别
- BOOL和bool的区别
- BOOL与bool 的区别
- BOOL和bool的区别
- BOOL和bool的区别
- BOOL与bool的区别
- BOOL和bool的区别
- BOOL与bool的区别
- BOOL和bool的区别
- struts2获取参数的方法
- 替换空格
- html是什么,html5是什么?web开发必备知识之html
- JavaScript Dom编程艺术-C6 案例研究:图片库改进版
- FileZilla搭建FTP服务器
- BOOL的赋值
- XGBoost参数调优
- 避免递归中的重复计算
- scala基础语法-2数组
- 负载均衡层次结构:LVS Nginx DNS CDN
- 参加工作2年后的我
- Android唤醒、解锁屏幕
- 径向基网络(RBF)实现函数插值(拟合)
- 二维数组中的查找