Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2098452
  • 博文数量: 414
  • 博客积分: 10312
  • 博客等级: 上将
  • 技术积分: 4921
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 01:49
文章分类

全部博文(414)

文章存档

2011年(1)

2010年(29)

2009年(82)

2008年(301)

2007年(1)

分类: C/C++

2008-03-13 09:37:08

一个有意思的运算:
to be or not to be
=2B or not 2B
=2B|-2B
=0xFF

2B是to be的英文谐音,
十六进制里面2B代表一个数字。
not表示非运算,用“-”表示。

or表示或运算,用“|”表示。
如果你使用过搜索引擎的高级搜索,
肯定知道not 和or。
比如想得到包含“美的”但不包含“优美的”搜索结果,
只要搜索“美的 -优美的”即可。
想要得到包含“土豆”或者“玉米”中任一个的搜索结果,
只需搜索“土豆 | 玉米”或“土豆 OR 玉米”即可。
有些搜索引擎需要注意大小写和空格。

回到上面的算式,
2B|-2B表示把数字2B和-2B进行或运算。
得到的结果是0xFF(转换成十进制为255).
实际上把任何数字进行非运算,
然后再和自己进行或运算,结果都是0xFF

阅读(1056) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~