C語言的學習中,學習到有符號數和無符號數,通過代碼確定一個變量是屬於有符號數還是無符號數
1、有符號數
有符號數是對於二進制而言的,最最高的為表示符號位,“0”表示正值,“1”表示負值,剩下的位表示數值。也就是說,有符號數的本質特征是,可以出現負值的情況
2、無符號數
無符號數是相對於有符號數的,數的二進制全部表示數值,沒有正負之分。所以,無符號數的本質特征是,絕對不會出現負數的情況。
3、代碼判定
Technorati 標簽: C++,參數,有符號,無符號a、判定一個數值是否一個無符號
#define ISUNSIGNED(a) (a>=0 && –a>=0)因為無符號數絕對不會出現負值的情況。
b、判定一個類型是否為一個無符號數
#define ISUNSIGNEDTYPE(type) ((type)0 – 1 > 0)無符號數會出現一個循環,就是絕對不會出現負數的情況。