黑马程序员技术交流社区

标题: oc中布尔类型,0一定是false,整数不一定是true [打印本页]

作者: flyfuckadmin    时间: 2014-10-8 12:15
标题: oc中布尔类型,0一定是false,整数不一定是true
oc中的BOOL类型占用了一个字节,即是8位进行表示。8位全是0时即是NO,8位之内非0的就是YES,如果整数超过8位,不一定是YES。比如10位,后8位全是0,前两位非0,这个时候就是NO。
比如
BOOL bo = 8960;
if(bo)
   return YES:
else
   return NO;

这个时候返回的是NO。


作者: 明天过后1    时间: 2014-10-8 12:24
学习了!!!楼主很细心啊
作者: 微雨独行    时间: 2014-10-8 12:52
本帖最后由 微雨独行 于 2014-10-8 12:54 编辑

bool有它的取值范围,跟int一个道理,当给它赋超出它范围的值时,它已不是bool了。bool本质:typedef  unsigned  char  BOOL。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2