位屏蔽的可移植性

作者在 2010-02-25 22:10:00 发布以下内容
1、不要认为数字常量在所有平台上的表示都是相同的,例如,-1和0xFFFFFFFF是一样的,可并不总是如此,只有在32位系统上才是等价的,在64位系统上表示的是很大很大的正数。
 
2、位屏蔽,如想屏蔽低四位:
(1)nonportable code
unsigned long x = some_vaue ;
x &= 0xFFFFFFF0 ;  // this code is absolutely wrong on 64 bits platform ;
(2)portable code
unsigned long x = some_value ;
x &= ~(0x0F) ;
 
Portable | 阅读 771 次
文章评论,共0条
游客请输入验证码
文章归档