我把数据保存为一个无符号字符,并使用上半部分作为负数的条件。有没有办法定义一个常数NEGATIVE,例如,它的值是128到255?有没有办法在C中定义一个数字范围作为常量?
所以,如果(X ==负)当x是而不是简单地使用(X>阴性)和至127
由于分配NEGATIVE 128和255之间。
我把数据保存为一个无符号字符,并使用上半部分作为负数的条件。有没有办法定义一个常数NEGATIVE,例如,它的值是128到255?有没有办法在C中定义一个数字范围作为常量?
所以,如果(X ==负)当x是而不是简单地使用(X>阴性)和至127
由于分配NEGATIVE 128和255之间。
您无法定义范围并测试它是否相等。取决于您的数据的解释,有多种方法可行:
#define isNegative(x) ((x) >= 128)
#define isNegative(x) (((x) & 0x80) != 0)
#define isNegative(x) ((signed char)(x) < 0)
为什么不将NEGATIVE定义为127? –
通常,你用'#define NEGATIVE 127'定义一个'NEGATIVE'并按上面的代码所示使用。 –
下面的部分被用作正面。该应用程序具有正值,通常不会超过40,并且具有相同大小的负数(例如回滚到215)。 – mcallinder