基本数据类型是 CPU 可以直接进行运算的类型,主要包括以下几种。

  • 整数类型 byteshortintlong
  • 浮点数类型 floatdouble ,用于表示小数。
  • 字符类型 char ,用于表示各种语言的字母、标点符号甚至表情符号等。
  • 布尔类型 bool ,用于表示“是”与“否”判断。

基本数据类型以二进制的形式存储在计算机中。一个二进制位即为 比特。在绝大多数现代操作系统中, 字节(byte)由 比特(bit)组成。

  • bit(比特,b)

    • 最小的存储单位,只能表示 0 或 1

    • 就像一个开关:开=1,关=0。

  • byte(字节,B)

    • 常用的基本存储单位,1 byte = 8 bit

    • 一个字节可以表示 种状态(0–255)。

    • 比如 ASCII 编码里,一个字母(如 “A”)通常用 1 个字节存储。

  • 1 B = 8 b

  • 1 KB = 1024 B ≈ B

  • 1 MB = 1024 KB ≈ B

  • 1 GB = 1024 MB ≈ B

  • 1 TB = 1024 GB ≈ B

基本数据类型的取值范围取决于其占用的空间大小。下面以 Java 为例。

  • 整数类型 byte 占用 字节 = 比特 ,可以表示 个数字。
  • 整数类型 int 占用 字节 = 比特 ,可以表示 个数字。

下表列举了 Java 中各种基本数据类型的占用空间、取值范围和默认值。此表格无须死记硬背,大致理解即可,需要时可以通过查表来回忆。

类型符号占用空间最小值最大值默认值
整数byte1 字节 () ()
short2 字节
int4 字节
long8 字节
浮点数float4 字节
double8 字节
字符char2 字节
布尔bool1 字节
  • 在 Python 中,整数类型 int 可以是任意大小,只受限于可用内存;浮点数 float 是双精度 64 位;没有 char 类型,单个字符实际上是长度为 1 的字符串 str
  • C 和 C++ 未明确规定基本数据类型的大小,而因实现和平台各异。上表遵循 LP64 数据模型,其用于包括 Linux 和 macOS 在内的 Unix 64 位操作系统。
  • 字符 char 的大小在 C 和 C++ 中为 1 字节,在大多数编程语言中取决于特定的字符编码方法,详见“字符编码”章节。
  • 即使表示布尔量仅需 1 位(),它在内存中通常也存储为 1 字节。这是因为现代计算机 CPU 通常将 1 字节作为最小寻址内存单元。

基本数据类型提供了数据的“内容类型”,而数据结构提供了数据的“组织方式”。