C語言為什么要定義short?
能表達整數(shù)的還不止這些,比如char,uchar,甚至bit類型都可以定義整數(shù),區(qū)別是每個類型定義的整數(shù)范圍不一樣。這個跟處理器時代息息相關(guān),本人上學(xué)那時接觸的是16位系統(tǒng),int類型長度不是目前的4字節(jié),而是2字節(jié)。
過去內(nèi)存硬件資源緊張,容不得半點浪費,因為稍不注意就不夠用了。比如目前的單片機,雖然比十幾年前有了極大改進,但和pc的相比那就是天差地別的了。
另外人們在做通信協(xié)議的時候,如果數(shù)據(jù)傳輸頻率高,數(shù)據(jù)量大,就會考慮壓縮協(xié)議字段,盡可能的用最少字節(jié),甚至最少位來定義數(shù)據(jù)項(比如bit:3就是3位表達,其值范圍是0~7)。
隨著64位處理器的出現(xiàn),那么long對應(yīng)8字節(jié)整數(shù)也就好理解了,如果還有128位處理器,也會新增新的類型來與之對應(yīng)。