C/C++ 中有哪些基本数据类型?它们的存储大小和取值范围是多少?

  

1. 整型类型

int
  • 存储大小: 4 字节(32 位)
  • 取值范围:
    • 有符号(signed int):-2^(31)2^(31) - 1 (即 -2,147,483,648 到 2,147,483,647)
short
  • 存储大小: 2 字节(16 位)
  • 取值范围:
    • 有符号(signed short):-2^(15)2^(15) - 1 (即 -32,768 到 32,767)
long
  • 存储大小: 通常为 4 字节(32 位),在 64 位系统中可能为 8 字节(64 位)
  • 取值范围:
    • 有符号(signed long):-2^(31)2^(31) - 1 (32 位)或 -2^(63)2^(63) - 1(64 位)
long long
  • 存储大小: 8 字节(64 位)
  • 取值范围:
    • 有符号(signed long long):-2^(63)2^(63) - 1 (即 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807)

2. 字符型

char
  • 存储大小: 1 字节(8 位)
  • 取值范围:
    • 有符号(signed char):-2^(7)2^(7) - 1 (即 -128 到 127)

3. 浮点型

float(单精度浮点型)
  • 存储大小: 4 字节(32 位)
  • 取值范围: 大约为 ±(1.2 × 10^(-38))±(3.4 × 10^(38)),用 2 的幂表示较复杂,不直接使用 2 的幂来描述其范围。
double(双精度浮点型)
  • 存储大小: 8 字节(64 位)
  • 取值范围: 大约为 ±(2.3 × 10^(-308))±(1.7 × 10^(308)),同样不直接用 2 的幂表示其范围。

4. 布尔型

bool(布尔型)
  • 存储大小: 1 字节
  • 取值范围: truefalse(布尔型通常表示为 1 或 0,不涉及 2 的幂)

这些取值范围主要是根据存储位数推导出来的,特别是在整型数据类型中,符号位(用于表示正负)会影响取值范围。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值