我将数据保存为unsigned char,并使用上半部分作为负数的条件。有没有办法定义一个保持值128到255的常量NEGATIVE,例如?
所以,如果(x == NEGATIVE)当x在128到255之间而不是简单地使用(x> NEGATIVE)并将NEGATIVE分配给127
感谢。
答案 0 :(得分:1)
您无法定义范围并对其进行相等性测试。根据您对数据的解释,有多种方法可供选择:
#define isNegative(x) ((x) >= 128)
#define isNegative(x) (((x) & 0x80) != 0)
#define isNegative(x) ((signed char)(x) < 0)