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

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)的大小有不同的实现,需根据实际情况调整。

http://www.kler.cn/a/586736.html

相关文章:

  • CentOS 8 停止维护后通过 rpm 包手动安装 docker
  • 《P1540 [NOIP 2010 提高组] 机器翻译 题解》
  • Scala语言的数据库编程
  • 基于雪雁算法(Snow Geese Algorithm,SGA)的多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码
  • MongoDB集合(表)自动创建机制
  • ffmpeg基础整理
  • 《AI浪潮中的璀璨新星:Meta Llama、Ollama与DeepSeek的深度剖析》:此文为AI自动生成
  • 利用matlab编制的转子动力学
  • springboot树形结构 支持模糊查询,返回匹配节点和父节点,其他节点不返回
  • Android开源库——RxJava和RxAndroid
  • Training-free neural architecture search: A review
  • docker构建镜像时总会有部分文件没有被更新,解决办法
  • Android Framework 之了解系统启动流程二
  • 011【fate/extra link】【概率论与数理统计】大数定律与中心极限定理 ,数理统计的基本概念,常用的统计三大分布,正态总体的抽样分布定理
  • Python 实现大文件的高并发下载
  • jenkins通过ssh连接远程服务器出错解决方案(Algorithm negotiation fail)
  • MySQL(第四周)
  • 基于“动手学强化学习”的知识点(六):第 19 章 目标导向的强化学习(gym版本 >= 0.26)
  • C++之OOP
  • 蓝桥杯嵌入式赛道复习笔记1(led点亮)