char, signed char,unsigned char, short int unsigned short int, int數據類型取值問題

  char, signed char,unsigned char, short int unsigned short int, int 這些數據類型是大家平時工作中一定會用到的,今天不知咋回事,看到這些數據類型時突然產生了一個疑問:數據類型要麼是有符號的,要麼是無符號,爲什麼每種數據類型會多一個缺省的呢?查找資料說是爲了移植方便。怎麼個方便法呢?看如下取值類型:

 

類型                    最小範圍
char                   0 ~ 127
signed char        -127 ~ 127
unsigned char    0 ~ 255

 

  從以上取值範圍你是否發現了什麼? 默認的char的取值範圍剛好是signed char和 unsigned char的交集,這便是方便之處了,倘若你定義的類型是char,無論移植的機器char 的取值範圍是 -127 ~ 127還是 0 ~ 255,你使用 0 ~ 127都是絕對沒問題的。至於顯示的定義爲有符號,或無符的,主要是爲了性能問題。

  從這裏我們可以看得出語言設計者的精妙之處。跨平臺性,效率性,我們的編碼是否有全盤的考慮過這些呢?

發佈了12 篇原創文章 · 獲贊 14 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章