我有一个关于在C中构造位掩码的问题.我需要屏蔽掉'long int'中最不重要的一半,所以我只剩下上半部分.无论我是在64位还是32位平台上,我都需要确保它屏蔽掉一半.我看到__WORD_SIZE在limits.h中定义.最初我这样做:
#define UPPER(X) ( X & ( ~0 << (__WORDSIZE/2) ) )
什么是最正确和最有效的方法呢?
c
c ×1