我把數據保存爲一個無符號字符,並使用上半部分作爲負數的條件。有沒有辦法定義一個常數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