![你好,C语言](https://wfqqreader-1252317822.image.myqcloud.com/cover/775/52842775/b_52842775.jpg)
上QQ阅读APP看书,第一时间看更新
3.1.1 各种整型数据类型
C语言中的整型数据类型如表3.1所示。
表3.1 C语言中的整型数据类型
![](https://epubservercos.yuewen.com/15A18E/31398146107521006/epubprivate/OEBPS/Images/Figure-T42_48916.jpg?sign=1739114593-RJ72GOxa4UGHlZfJIriUqW97PjQboiZu-0-adc38fb7d1d138a8ee78d635b2530127)
读者可能会好奇,为什么需要定义这么多不同类型的整数呢?实际上,计算机通过晶体管的开关状态来记录数据。晶体管通常会被分为8个一组,我们称之为字节。由于晶体管只有两种状态,每个字节就可以拥有2的8次方种不同的状态。让每个状态对应一个数值,就可以表示256个不同的数值。图3.1清楚地展示了不同晶体管状态和它们所表示的数值。
![](https://epubservercos.yuewen.com/15A18E/31398146107521006/epubprivate/OEBPS/Images/Figure-P42_5904.jpg?sign=1739114593-0gFWy8VbP9LU01VPiD4IeJ357W4lDaMQ-0-7075d1ebe4e37b2c454822312347520a)
图3.1 晶体管状态和表示的数值
提示:
本章涉及二进制的知识,如果你对于二进制还不太了解,建议先学习二进制的内容。本书默认你已经学会了二进制。
要表示更大的数值范围就需要更多的晶体管。在C语言刚刚发明的时代,计算机存储资源是非常宝贵且稀缺的。对于程序员来说,他们可能希望将存储区域“掰成两半”来使用。例如,如果只需要表示0~100的数字,那么一个字节就足够了,为什么要使用两个字节呢?
即使如今存储资源更加丰富,但许多编程语言仍然延续了这个传统。它们都提供了许多数据类型供选择。在编写代码时,程序员通常可以预测需要使用的数值范围。因此,在处理数据时,可以从语言提供的类型中选择最合适的类型存储数据。
你可能想了解这些整型数据类型占用了多少字节,以及它们的具体数值范围。但很遗憾,我们无法准确地告诉你,因为C语言标准没有规定这些数据类型的大小范围,具体的实现取决于编译器和平台。那么,我们应该如何知道在Visual Studio中各种整型数据类型可以表示的数值范围呢?
可以使用sizeof关键字测量。