清风竹林

ぷ雪飘绛梅映残红
   ぷ花舞霜飞映苍松
     ----- Do more,suffer less

给unsigned int 赋一个最大值

 unsigned int,无符号整数,多好的名字,但它的名字与其本身多少有些不符的味道:

如果 unsigned int a; ,那么,你无法通过测试 if(a>0)测试出你赋给a的值到底是否是正的,因此,通常我们宁愿使用 int b; 配合 assert(a>=0);

不过,由于项目的需要(基于windows的,使用了太多的DWORD,不过DWORD的定义通常为unsigned long),其中还是使用了一些unsigned int,我发现项目中通常要求赋一个很大(最大)的初始值,用什么? 0xffffffff嘛? 我都记不住0x后面应该有几个f,况且,我不能保证系统一定是32位的;

还是用 unsigned int a= -1;吧,就让无符号整数为自己也做点贡献吧。

posted on 2009-02-06 16:37 李现民 阅读(2464) 评论(2)  编辑 收藏 引用 所属分类: 语法试炼

评论

# re: 给unsigned int 赋一个最大值 2009-02-09 20:28 guest

在VC6下,a的结果为4294967295!  回复  更多评论   

# re: 给unsigned int 赋一个最大值 2010-10-09 15:41 Ted

很实用的小技巧  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理