作者在 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) ;