C 语言标准库 - <limit.h>

简介

<limits.h> 是 C 标准库中的一个头文件,定义了各种数据类型的限制。这些宏提供了有关整数类型(charshortintlong 和 long long 等)和其他数据类型的最大值和最小值的信息。

这些限制指定了变量不能存储任何超出这些限制的值,例如一个无符号可以存储的最大值是 255。

库宏

下面的值是特定实现的,且是通过 #define 指令来定义的,这些值都不得低于下边所给出的值。

描述
字符类型
CHAR_BITchar 类型的位数通常为 8
CHAR_MINchar 类型的最小值(有符号或无符号)-128 或 0
CHAR_MAXchar 类型的最大值(有符号或无符号)127 或 255
SCHAR_MINsigned char 类型的最小值-128
SCHAR_MAXsigned char 类型的最大值127
UCHAR_MAXunsigned char 类型的最大值255
短整数类型
SHRT_MINshort 类型的最小值-32768
SHRT_MAXshort 类型的最大值32767
USHRT_MAXunsigned short 类型的最大值65535
整数类型
INT_MINint 类型的最小值-2147483648
INT_MAXint 类型的最大值2147483647
UINT_MAXunsigned int 类型的最大值4294967295
长整数类型
LONG_MINlong 类型的最小值-9223372036854775808L
LONG_MAXlong 类型的最大值9223372036854775807L
ULONG_MAXunsigned long 类型的最大值18446744073709551615UL
长长整数类型
LLONG_MINlong long 类型的最小值-9223372036854775808LL
LLONG_MAXlong long 类型的最大值9223372036854775807LL
ULLONG_MAXunsigned long long 类型的最大值18446744073709551615ULL

实例

下面的实例演示了 limit.h 文件中定义的一些常量的使用。

#include <stdio.h>
#include <limits.h>int main() {printf("Character types:\n");printf("CHAR_BIT: %d\n", CHAR_BIT);printf("CHAR_MIN: %d\n", CHAR_MIN);printf("CHAR_MAX: %d\n", CHAR_MAX);printf("SCHAR_MIN: %d\n", SCHAR_MIN);printf("SCHAR_MAX: %d\n", SCHAR_MAX);printf("UCHAR_MAX: %u\n", UCHAR_MAX);printf("\nShort integer types:\n");printf("SHRT_MIN: %d\n", SHRT_MIN);printf("SHRT_MAX: %d\n", SHRT_MAX);printf("USHRT_MAX: %u\n", USHRT_MAX);printf("\nInteger types:\n");printf("INT_MIN: %d\n", INT_MIN);printf("INT_MAX: %d\n", INT_MAX);printf("UINT_MAX: %u\n", UINT_MAX);printf("\nLong integer types:\n");printf("LONG_MIN: %ld\n", LONG_MIN);printf("LONG_MAX: %ld\n", LONG_MAX);printf("ULONG_MAX: %lu\n", ULONG_MAX);printf("\nLong long integer types:\n");printf("LLONG_MIN: %lld\n", LLONG_MIN);printf("LLONG_MAX: %lld\n", LLONG_MAX);printf("ULLONG_MAX: %llu\n", ULLONG_MAX);return 0;
}

让我们编译和运行上面的程序,这将产生下列结果:

Character types:
CHAR_BIT: 8
CHAR_MIN: -128
CHAR_MAX: 127
SCHAR_MIN: -128
SCHAR_MAX: 127
UCHAR_MAX: 255Short integer types:
SHRT_MIN: -32768
SHRT_MAX: 32767
USHRT_MAX: 65535Integer types:
INT_MIN: -2147483648
INT_MAX: 2147483647
UINT_MAX: 4294967295Long integer types:
LONG_MIN: -9223372036854775808
LONG_MAX: 9223372036854775807
ULONG_MAX: 18446744073709551615Long long integer types:
LLONG_MIN: -9223372036854775808
LLONG_MAX: 9223372036854775807
ULLONG_MAX: 18446744073709551615

 <limits.h> 提供了许多与整数类型相关的宏,用于描述各种数据类型的限制。这些宏对于编写健壮和移植性强的代码非常有用,因为它们允许程序员在不同平台上轻松获取数据类型的限制值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/59172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【系统架构设计师】2023年真题论文: 论边云协同的设计与实现(包括解题思路和素材)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2023年 试题4)解题思路边云协同概念和架构边云协同的关键技术边云协同的设计与实现案例分析论文素材参考真题题目(2023年 试题4) 边云协同是指将边缘计算和云计算相结合,实现边缘设备与云端资源之间…

Automattic 和 Matt Mullenweg 要求驳回 WP Engine 诉讼案中的关键索赔

Automattic 和 Matt Mullenweg 已提交回应&#xff0c;要求法院驳回 WP Engine 诉讼中的第 1-6 项和第 9-11 项指控。WP Engine 于 2024 年 10 月 18 日向北加州法院提交了一份动议&#xff0c;要求获得初步禁令&#xff0c;寻求恢复对 WordPress.org 的访问&#xff0c;并恢复…

删除的文件怎么找回?删除文件恢复全面指南

我们常常在日常生活或工作中不小心删除了重要文件&#xff0c;这样的情况可能瞬间让人感到无助。不过&#xff0c;数据恢复技术已相当成熟&#xff0c;我们可以通过多种方法来找回误删的文件。下面我们将从简单到复杂逐步讲解找回删除文件的方法&#xff0c;希望可以帮助大家在…

【jvm】如何设置新生代和老年代的比例

目录 1. 说明2. 使用-XX:NewRatio参数3. 使用-Xmn参数4. 配置新生区中的Eden区和Survivor区比例5. 综合配置示例6. 注意事项 1. 说明 1.新生代&#xff08;Young Generation&#xff09;和老年代&#xff08;Old Generation&#xff09;的比例可以通过特定的参数进行设置。2.这…

D57【python 接口自动化学习】- python基础之异常

day57 异常捕获 学习日期&#xff1a;20241103 学习目标&#xff1a;异常 -- 73 异常捕获&#xff1a;出现异常时&#xff0c;如何利用程序进行处理&#xff1f; 学习笔记&#xff1a; try-except代码块 # 捕获异常 num1 num10 try:num/num1except Exception as e:print(上…

【06】A-Maven项目SVN设置忽略文件

做Web项目开发时&#xff0c;运用的是Maven管理工具对项目进行管理&#xff0c;在项目构建的过程中自动生成了很多不需要SVN进行管理的文件&#xff0c;SVN在对源码进行版本管理时&#xff0c;需要将其忽略&#xff0c;本文给出了具体解决方案。 SVN设置忽略Maven项目中自动生成…

logback日志级别动态切换四种方案

生产环境中经常有需要动态修改日志级别。 现在就介绍几种方案 方案一&#xff1a;开启logback的自动扫描更新 配置如下 <?xml version"1.0" encoding"UTF-8"?> <configuration scan"true" scanPeriod"60 seconds" debug…

Linux——Ubuntu的基础操作

压缩与解压缩 gzip压缩工具 创建文件 a.c和b.c touch a.c touch b.c 压缩文件a.c和b.c gzip a.c gzip b.c 解压缩a.c.gz和b.c.gz gzip -d a.c.gz 对文件夹进行压缩 gzip -r 对文件夹进行解压缩 gzip -rd 注意&#xff1a;这只是对文件夹里所有文件进行压缩&#xff0c…

win10下MMSegmentation自定义数据集

下载1.2.1版本: Releases open-mmlab/mmsegmentation GitHub 安装环境 本地torch环境为1.9.1 pip install -U openmim mim install mmengine mim install "mmcv>=2.0.0" 报mmcv版本不匹配的问题,形如:MMCV==X.X.X is used but incompatible. Please inst…

App Store 截图生成器:轻松制作专业级应用营销图片

在线使用 &#x1f449; 立即使用截图生成器 简介 App Store 截图生成器是一个专门为 iOS 开发者和营销人员设计的在线工具&#xff0c;可以快速生成符合 App Store 规范的应用预览图片。无论是 iPhone 还是 iPad 应用&#xff0c;都能轻松创建出精美的营销截图。 主要特点…

2024年超详细Pycharm安装保姆级教程,Python环境配置和使用指南,看完这一篇就够了

PyCharm 是由 JetBrains 打造的一款 Python IDE &#xff08;集成开发环境&#xff0c;Integrated Development Environment&#xff09;&#xff0c;带有一整套可以帮助用户在使用 Python 语言开发时提高其效率的工具&#xff0c;比如调试、语法高亮、Project 管理、代码跳转、…

使用DJL和PaddlePaddle的口罩检测详细指南

使用DJL和PaddlePaddle的口罩检测详细指南 完整代码 该项目利用DJL和PaddlePaddle的预训练模型&#xff0c;构建了一个口罩检测应用程序。该应用能够在图片中检测人脸&#xff0c;并将每张人脸分类为“戴口罩”或“未戴口罩”。我们将深入分析代码的每个部分&#xff0c;以便…

filebeat+elasticsearch+kibana日志分析

1 默认配置 1.1 filebeat filebeat-7.17.yml,从网关中下载k8s的配置&#xff0c;指定es和kibana的配置 通过kibana查询可以查询到日志了&#xff0c;但此时还不知道具体怎么用。 1.2 kibana 在Discover中创建索引格式&#xff1a;filebeat-*&#xff0c;得到如下图&#xf…

XGBoost Regressor --- 论文实战

一、前言 在《机器学习论文复现实战---linear regression》中通过Pearson 相关性分析,去除了2个高相关性特征 "PN" 和 "AN" ,数据维度变为890*25。(数据集地址) 这里我们不做任何前期处理,直接就将数据放入 XGBRegressor 模型中进行训练了。 二、模型…

MySQL表的增删改查(CRUD1)

好兄弟们&#xff0c;有没有忘了咱们上节说的知识点呢&#xff1f;忘了也没关系&#xff0c;让我们开始复习吧&#xff01;&#xff01;&#xff01; 上期我们介绍了数据类型&#xff0c;还有一些表的操作&#xff0c;我们常用的数据类型有&#xff1a;1.数值类型 tinyint …

C/C++ 知识点:声明与定义

文章目录 一、声明与定义1、声明&#xff08;Declaration&#xff09;2、定义&#xff08;Definition&#xff09;3、声明与定义的区别 前言&#xff1a; 在C编程中&#xff0c;声明&#xff08;declaration&#xff09;和定义&#xff08;definition&#xff09;是两个重要的概…

express搭建ts(TypeScript)运行环境

要在使用 TypeScript 的环境下运行一个简单的 Express 应用&#xff0c;可以使用 ts-node 直接运行 TypeScript 文件&#xff0c;而无需先将其编译为 JavaScript。以下是一个简单的示例&#xff0c;展示了如何设置和运行一个基本的 Express 应用。 步骤 1. 初始化项目&#x…

C++和OpenGL实现3D游戏编程【连载17】——着色器进阶(附源码)

🔥C++和OpenGL实现3D游戏编程【目录】 1、本节要实现的内容 在前面着色器初步一节我们了解了着色器的一些初步知识,通过顶点着色器和片段着色器显示出了一个彩色的立方体。我们这节课就来了解一些在着色器中显示纹理等一系列实用操作,同时了解一些进阶的图像渲染技术,比如…

【缓存与加速技术实践】Web缓存代理与CDN内容分发网络

文章目录 Web缓存代理Nginx配置缓存代理详细说明 CDN内容分发网络CDN的作用CDN的工作原理CDN内容的获取方式解决缓存集中过期的问题 Web缓存代理 作用&#xff1a; 缓存之前访问过的静态网页资源&#xff0c;以便在再次访问时能够直接从缓存代理服务器获取&#xff0c;减少源…

C++ | Leetcode C++题解之第520题检测大写字母

题目&#xff1a; 题解&#xff1a; class Solution { public:bool detectCapitalUse(string word) {// 若第 1 个字母为小写&#xff0c;则需额外判断第 2 个字母是否为小写if (word.size() > 2 && islower(word[0]) && isupper(word[1])) {return false;…