关于BREW中代码优化的问题

benoit_fr 2007-11-12 06:22:42
typedef unsigned char boolean;
typedef unsigned char uint8;

从自定义类型就可以看出。boolean类型实际上就是uint8类型。
在定义变量时:
有如下两种情况:

boolean b1;
boolean b2;
boolean b3;

uint8 b;
b&0x01;
b&0x02;
b&0x04;

书上说boolean类型变量需要使用3个字节,而uint8类型则需要使用1个字节就够了。
我想知道书上这样说的原因是什么?而且如果在使用上,如何使用uint8类型的boolean
变量呢?

...全文
285 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
不明LZ在说什么
meiZiNick 2008-04-30
  • 打赏
  • 举报
回复
有问题请先GOOGLE,BAIDU
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
没遇到过这种情况.
hhygcy 2007-12-26
  • 打赏
  • 举报
回复
其实我觉得这个优化很局限而且和定义相关,没有多大的意思而且通常程序的瓶颈都不在这些方面。。。
sharetop 2007-12-26
  • 打赏
  • 举报
回复
意思就是如果仅仅表示真假状态而言,用boolean有点浪费了,只需一个bit足矣。
正如我上面的回复,简单的做个与操作就可以取出某个位上的值了。
masterkevin 2007-12-25
  • 打赏
  • 举报
回复
什么书上胡说八道~
sharetop 2007-12-04
  • 打赏
  • 举报
回复
if(b&0x01)
{
//表示第一位为真
}
if(b&0x02) 表示第二位为1 if(b&0x04)表示第三位为1
就可以判断出来了。
发帖
Qualcomm开发

714

社区成员

为移动开发者提供丰富的解决方案、全面的技术下载。本版以游戏、多媒体、高效能等三个技术为核心,为开发者营造一个轻松、高效的学习交流平台。
社区管理员
  • Qualcomm开发
  • 霍大神
加入社区
帖子事件
创建了帖子
2007-11-12 06:22
社区公告
暂无公告