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

C/C++中的基本数据类型

在C语言中,支持下面这些基本数据类型:

数据类型占用字节取值范围备注
short2-32768 ~ 32767短整型
int4-2147483648 ~ 2147483647整型
long4 / 8-2147483648 ~ 2147483647
-9223372036854775808 ~ 9223372036854775807
长整型:在windows中或32位linux中占4字节;64位linux中占8字节
long long8-9223372036854775808 ~ 9223372036854775807长整型
unsigned short20 ~ 65535无符号短整型
unsigned int40 ~ 4294967295无符号整型
unsigned long4 / 80 ~ 4294967295
0 ~ 18446744073709551615
无符号长整型
unsigned long long80 ~ 18446744073709551615无符号长整型:在windows中或32位linux中占4字节;64位linux中占8字节
float41.175*10^-38 ~ 1.175*10^38单精度浮点型
double82.225*10^-308 ~ 1.797*10^308双精度浮点型
char1ASCII表中的字母、数字、符号字符

这些基本类型中,有一个比较特殊的数据类型long long,与long类型不同的是,不论是哪个编译器它都是占8字节。
在表示数值范围:double > float > long long > long > int > short > char。
在给变量赋值时,整型值默认为int类型,浮点型默认为double类型,也可以通过在数值后面添加后缀指定数据类型:long(L)、long long(LL)、float(F)。
可以通过下面的方式获取到数据类型值的范围:

#include <stdio.h>
#include <limits.h>

int main() {
    printf("short size %d: %d ~ %d\n", sizeof(short), SHRT_MIN, SHRT_MAX);

    printf("int size %d: %d ~ %d\n", sizeof(int), INT_MIN, INT_MAX);

    printf("long size %d: %ld ~ %ld\n", sizeof(long), LONG_MIN, LONG_MAX);

    printf("long long size %d: %lld ~ %lld\n", sizeof(long long), LLONG_MIN, LLONG_MAX);

    printf("unsigned short size %d: %u ~ %u\n", sizeof(unsigned short), 0, USHRT_MAX);

    printf("unsigned int size %d: %u~%u\n", sizeof(unsigned int), 0, UINT_MAX);

    printf("unsigned long size %d: %lu ~ %lu\n", sizeof(unsigned long), 0, ULONG_MAX);

    printf("unsigned long long size %d: %u ~ %llu\n", sizeof(unsigned long long), 0, ULLONG_MAX);

    printf("float size %d\n", sizeof(float));
    
    printf("double size %d\n", sizeof(double));

    return 0;
}

不同的编译器执行上面的代码输出可能不同,在64位linux环境下执行上面的代码输出:

short size 2: -32768 ~ 32767
int size 4: -2147483648 ~ 2147483647
long size 8: -9223372036854775808 ~ 9223372036854775807
long long size 8: -9223372036854775808 ~ 9223372036854775807
unsigned short size 2: 0 ~ 65535
unsigned int size 4: 0~4294967295
unsigned long size 8: 0 ~ 18446744073709551615
unsigned long long size 8: 0 ~ 18446744073709551615
float size 4
double size 8

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

相关文章:

  • DCRNN解读(论文+代码)
  • Python实现FTP服务器:从入门到实践
  • 如何在Word的表格中一次性插入多行?
  • CM API方式设置YARN队列资源
  • 独孤思维:工作被骂,副业停滞,算个屁
  • Hugging Face魔塔使用
  • Qt——QWidget
  • Java类和对象(上篇)
  • Github 2024-10-30C开源项目日报 Top10
  • 正则表达式学习
  • 【系统架构设计师】2024年上半年真题论文: 论模型驱动架构设计方法及其应用(包括解题思路和素材)
  • 操作系统——计算机系统概述——1.4操作系统结构
  • 【2】Elasticsearch 查询从基础到高级
  • jsweb2
  • Java实现动态切换ubuntu壁纸功能
  • 自定义日志打成jar包引入项目后不生效
  • 3D Gaussian Splatting 入门
  • 8.5K+ Star!Skyvern:一个基于LLMs和计算机视觉自动化浏览器工作流的工具
  • Day 41 || 1049. 最后一块石头的重量 II 、494. 目标和、474.一和零
  • 机器学习之fetch_olivetti_faces人脸识别--基于Python实现
  • 数据智能驱动金融策略优化:民锋智能分析技术的应用
  • 深度学习-38-基于PyTorch的卷积神经网络AlexNet
  • 【Java笔记】1-JDK/JRE/JVM是个啥?
  • Golang | Leetcode Golang题解之第518题零钱兑换II
  • pgsql数据量大之后可能遇到的问题
  • SpringCloudAlibaba实战入门之OpenFeign高级用法(十)