有没有办法在C中定义一系列数字1作为常量?

时间:2014-01-15 05:24:43

标签: c char constants

我将数据保存为unsigned char,并使用上半部分作为负数的条件。有没有办法定义一个保持值128到255的常量NEGATIVE,例如?

所以,如果(x == NEGATIVE)当x在128到255之间而不是简单地使用(x> NEGATIVE)并将NEGATIVE分配给127

感谢。

1 个答案:

答案 0 :(得分:1)

您无法定义范围并对其进行相等性测试。根据您对数据的解释,有多种方法可供选择:

#define isNegative(x) ((x) >= 128)
#define isNegative(x) (((x) & 0x80) != 0)
#define isNegative(x) ((signed char)(x) < 0)