当前位置: 首页 > news >正文

C语言数据类型取值范围及格式化符号

一、数据类型取值范围与格式化输出符号表格

数据类型大小(字节)取值范围格式化输出符号
char1-128到127<br>或0到255(如果声明为unsigned char)%c (字符)<br>%hhu (无符号)
signed char1-1.28×10²到1.27×10²%hhd (有符号)
unsigned char10到2.55×10²%hhu
short2-3.2768×10⁴到3.2767×10⁴%hd
unsigned short20到6.5535×10⁴%hu
int4-2.147483648×10⁹到2.147483647×10⁹%d
unsigned int40到4.294967295×10⁹%u
long4或8-2.147483648×10⁹到2.147483647×10⁹(32位系统)或 -9.223372036854775808×10¹⁸到9.223372036854775807×10¹⁸(64位系统)%ld
unsigned long4或80到4.294967295×10⁹(32位系统)或 0到1.8446744073709551615×10¹⁹(64位系统)%lu
long long8-9.223372036854775808×10¹⁸到9.223372036854775807×10¹⁸%lld
unsigned long long80到1.8446744073709551615×10¹⁹%llu
float4约±3.4×10⁻³⁸到±3.4×10³⁸%f
double8约±1.7×10⁻³⁰⁸到±1.7×10³⁰⁸%lf
long double10或16约±1.1×10⁻⁴⁹³²到±1.1×10⁴⁹³²%Lf

二、详细说明

(一)char类型

  1. 大小
    • 为1字节(8位)。
  2. 取值范围
    • 默认情况下,char是有符号的,取值范围为 -1.28×10²到1.27×10²。
    • 如果声明为unsigned char,则取值范围为0到2.55×10²。
  3. 格式化输出
    • 有符号:%hhd。
    • 无符号:%hhu。
    • 字符:%c。

(二)short类型

  1. 大小
    • 为2字节(16位)。
  2. 取值范围
    • 有符号:short,取值范围为 -3.2768×10⁴到3.2767×10⁴。
    • 无符号:unsigned short,取值范围为0到6.5535×10⁴。
  3. 格式化输出
    • 有符号:%hd。
    • 无符号:%hu。

(三)int类型

  1. 大小
    • 为4字节(32位)。
  2. 取值范围
    • 有符号:int,取值范围为 -2.147483648×10⁹到2.147483647×10⁹。
    • 无符号:unsigned int,取值范围为0到4.294967295×10⁹。
  3. 格式化输出
    • 有符号:%d。
    • 无符号:%u。

(四)long类型

  1. 大小
    • 取决于系统(32位系统为4字节,64位系统为8字节)。
  2. 取值范围
    • 有符号:
      • 32位系统:-2.147483648×10⁹到2.147483647×10⁹。
      • 64位系统:-9.223372036854775808×10¹⁸到9.223372036854775807×10¹⁸。
    • 无符号:
      • 32位系统:0到4.294967295×10⁹。
      • 64位系统:0到1.8446744073709551615×10¹⁹。
  3. 格式化输出
    • 有符号:%ld。
    • 无符号:%lu。

(五)long long类型

  1. 大小
    • 为8字节(64位)。
  2. 取值范围
    • 有符号:long long,取值范围为 -9.223372036854775808×10¹⁸到9.223372036854775807×10¹⁸。
    • 无符号:unsigned long long,取值范围为0到1.8446744073709551615×10¹⁹。
  3. 格式化输出
    • 有符号:%lld。
    • 无符号:%llu。

(六)浮点类型

  1. float
    • 大小:4字节,单精度浮点数。
    • 取值范围:约±3.4×10⁻³⁸到±3.4×10³⁸。
    • 格式化输出:%f。
  2. double
    • 大小:8字节,双精度浮点数。
    • 取值范围:约±1.7×10⁻³⁰⁸到±1.7×10³⁰⁸。
    • 格式化输出:%lf。
  3. long double
    • 大小:10或16字节,扩展精度浮点数。
    • 取值范围:约±1.1×10⁻⁴⁹³²到±1.1×10⁴⁹³²。
    • 格式化输出:%Lf。

三、注意事项

  1. 格式化输出符号必须与数据类型匹配,否则会导致未定义行为。
  2. 不同系统和编译器可能对某些类型(如long)的大小有不同的实现,需根据实际情况调整。

相关文章:

  • NVMe集群:加速数据处理
  • 【C语言】自定义类型:结构体,联合,枚举(下)
  • python函数式编程
  • 【教程】继承中的访问控制 C++
  • C 语 言 --- 三 子 棋
  • 汽车保养记录用什么软件记录,汽车维修记录查询系统,佳易王汽车保养维护服务记录查询管理系统操作教程
  • 【免费】1949-2020年各省人均GDP数据
  • 2019年12月全国POI数据分享(同源历史POI分享系列)
  • Linux 蓝牙音频软件栈实现分析
  • 单引号与双引号在不同编程语言中的使用与支持
  • 【菜鸟飞】在vsCode中安装python的ollama包出错的问题
  • 高频面试题(含笔试高频算法整理)基本总结回顾21
  • C语言【内存函数】详解
  • 对比学习(Contrastive Learning)
  • 浏览器指纹——跨境业务
  • 机器人ROS学习:Ubuntu22.04安装ROS2和Moveit2实现运动规划
  • 【黑马点评|项目】万字总结(上)
  • 将Dify文档中的CSV数据提取并用ECharts可视化工具开发指南
  • 甲骨文找回二次验证的方法(超简单)
  • Java 集合遍历过程中修改数据触发 Fail-Fast 机制 ,导致报ConcurrentModificationException异常
  • 4月一二线城市新房价格环比上涨,沪杭涨幅居百城前列
  • 前行中的“模速空间”:要攻克核心技术,也要成为年轻人创业首选地
  • 200枚篆刻聚焦北京中轴线,“印记”申遗往事
  • 五部门:开展新就业形态劳动者劳动权益保障水平提升专项行动
  • 摩根大通任命杜峯为亚太区副主席,加码中国市场业务布局
  • 美的集团一季度净利增长38%,库卡中国机器人接单增超35%