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