C++中获取int最大与最小值

news2024/9/9 0:39:46

不知道大家有没有遇到过这种要求:“返回值必须是int,如果整数数超过 32 位有符号整数范围 [−2^31,  2^31 − 1] ,需要截断这个整数,使其保持在这个范围内。例如,小于 −2^31 的整数应该被固定为 −2^31 ,大于 2^31 − 1 的整数应该被固定为 2^31 − 1

题目链接:. - 力扣(LeetCode)

若已知int能表示的最大值与最小值,本题直接如下截断即可

return max(min(ans, int_max), int_min);//ans表示未经处理正确答案

那么问题来了,如何获取int的最值?

1.通过C++已有库

在C++中,可以使用<limits>头文件中的std::numeric_limits模板类来获取int类型的最大值和最小值。下面是示例代码:

#include <iostream>
#include <limits>

int main() {
    // 获取int类型的最大值
    int max_int = std::numeric_limits<int>::max();
    std::cout << "最大值:" << max_int << std::endl;

    // 获取int类型的最小值
    int min_int = std::numeric_limits<int>::min();
    std::cout << "最小值:" << min_int << std::endl;

    return 0;
}

这段代码中,std::numeric_limits<int>::max()返回int类型的最大值,std::numeric_limits<int>::min()返回int类型的最小值。

2.通过移位运算

#include <iostream>

int main() {
    // 计算int类型的最大值
    int max_int = (1 << 31) - 1;  // 或者使用 0x7FFFFFFF
    std::cout << "最大值:" << max_int << std::endl;

    // 计算int类型的最小值
    int min_int = -(1 << 31);     // 或者使用 0x80000000
    std::cout << "最小值:" << min_int << std::endl;

    return 0;
}

这段代码中,(1 << 31) - 1计算出32位中除了符号位外全为1的二进制数,即011...1,即为int类型的最大值。而-(1 << 31)计算出32位中符号位为1,其余位为0的二进制数,即100...0,即为int类型的最小值。

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

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

相关文章

【Ubuntu查看硬盘和网络配置信息】解决方案

1.查看硬盘序列号 搜索系统中有应用&#xff0c;打开“磁盘”&#xff0c;因为我本人是只设置了一个分区&#xff0c;所以打开如下&#xff0c;从上面可以得到硬盘序列号 2.查看ip地址和MAC地址 ctrl alt t 打开命令行 输入ifconfig, 如下图所示&#xff0c;MAC地址即为&…

多家知名媒体到访“光子1号金融算力中心“ 交流AI与算力未来观

5月23日&#xff0c;企商在线 “光子1号金融算力中心媒体参观日”活动成功举办&#xff0c;十多家主流媒体、IT行业媒体及自媒体代表走进光子1号金融算力中心&#xff0c;深入了解企商业务发展、战略规划及“光子1号金融算力中心”等企商打造的新型数字基础设施&#xff0c;共同…

论文研读之hpn-ssh: High speed bulk data transfer using the SSH protocol

优化解决方案的策略 其中提到盲目的增加窗口大小实际上可能导致性能下降,这种下降可能由这几个因素引起:中间路由器上的缓冲区填满;路径过快饱和;过度缓冲;引入新的问题。虽然较大的缓冲区在某些情况下可能提高性能,但也有引入新的、难以诊断的问题的风险。这种复杂性使…

QtCreator,动态曲线实例

样式图&#xff1a; .ui 在sloem1.ui文件中&#xff0c;拖入一个label控件&#xff0c; 头文件.h #include "QtGui/QPainter.h" #include "QtCore/QTimer.h"protected:bool eventFilter(QObject *obj,QEvent *event);void labelPaint();public slots: /…

6款网站登录页(附带源码)

6款网站登录页 效果图及部分源码123456 领取源码下期更新预报 效果图及部分源码 1 部分源码 <style>* {margin: 0;padding: 0;}html {height: 100%;}body {height: 100%;}.container {height: 100%;background-image: linear-gradient(to right, #fbc2eb, #a6c1ee);}.l…

NSS‘题目练习3

[SWPUCTF 2021 新生赛]easyupload3.0 打开题目发现要求上传.jpg文件 先上传抓包&#xff0c;尝试更改后缀 换一种形式 文件头绕过 都试过之后尝试上传.htaccess文件&#xff0c;发现上传成功 会将之后上传的文件后缀自动更名为.php 再上传.jpg文件 蚁剑连接找到flag [SWPUCTF …

【oracle的安装记录】

oracle安装记录 一、下载以后&#xff0c;解压到同一路径下面 二、双击可执行安装文件&#xff0c;等待文件加载 三、双击以后&#xff0c;弹出信息 四、提示该窗口&#xff0c;点击【是】即可 五、未填写配置安全更新信息 六、弹出小窗口&#xff0c;选择【是】 七、安装选项…

宿舍管理系统--毕业设计

毕业设计&#x1f4bc;MD5加密&#x1f512;SSM框架&#x1f3a8;Layui框架&#x1f384; 实现功能 管理员的登录与登出 管理员,班级,学生,宿舍&#xff0c;卫生&#xff0c;访客各模块增删改查 个别模块关联查询 各个模块数据导出Excel 一些截图

Log360:护航安全,远离暗网风险

暗网有时候就像是一个神秘的地下世界&#xff0c;是互联网的隐蔽角落&#xff0c;没有任何规则。这是一个被盗数据交易、网络犯罪分子策划下一步攻击的地方。但仅仅因为它黑暗&#xff0c;不意味着你要对潜在的威胁视而不见。 暗网 这就是ManageEngine Log360的用武之地&…

创新工具|AI革新内容营销:策略、工具与实施指南

探索如何利用人工智能&#xff08;AI&#xff09;提升内容营销策略&#xff0c;从SEO优化到个性化推荐。本指南详细介绍了11款顶尖AI工具&#xff0c;旨在帮助中国的中高级职场人士、创业家及创新精英高效地策划和生成引人入胜的内容&#xff0c;同时确保内容的专业性、权威性和…

佩戴安全头盔监测识别摄像机

佩戴安全头盔是重要的安全措施&#xff0c;尤其在工地、建筑工程和工业生产等领域&#xff0c;安全头盔的佩戴对于工人的生命安全至关重要。为了更好地管理和监控佩戴安全头盔的情况&#xff0c;监测识别摄像机成为了一项重要的工具。监测识别摄像机可以通过智能技术监测并记录…

每日一练2024.5.24(补2024.5.26)

题目&#xff1a; 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]]示例 2&#xff1a; 输入&#x…

亚马逊自养号测评:深入解析与搭建要求

在亚马逊这电商平台上&#xff0c;商品的评价对于卖家来说至关重要。为了提升商品的曝光率、排名、权重和销量&#xff0c;卖家们纷纷采用各种推广方式&#xff0c;其中&#xff0c;亚马逊自养号测评成为了越来越多卖家选择的一种有效方式。 亚马逊自养号测评&#xff0c;顾名…

《SpringBoot》系列文章目录

SpringBoot是由Pivotal团队提供的全新框架&#xff0c;旨在简化新Spring应用的初始搭建以及开发过程。以下是一些关于SpringBoot的详细介绍&#xff1a; 设计目的&#xff1a;SpringBoot通过特定的方式来进行配置&#xff0c;使得开发人员不再需要定义样板化的配置&#xff0c…

服务器端口开放,服务器端口开放命令与方法的专业阐述

在计算机网络中&#xff0c;服务器端口的开放是确保网络通信畅通无阻的关键步骤。服务器端口是服务器与外部网络通信的入口&#xff0c;通过正确配置和开放相应的端口&#xff0c;可以实现各种网络服务和应用的功能。 一、命令与工具 在Linux系统中&#xff0c;常用的命令和工…

AI生成内容检测|Fast-DetectGPT:通过条件概率曲率对机器生成文本进行有效的零样本检测

【摘要】大型语言模型 (LLM) 已显示出生成流畅且有说服力的内容的能力&#xff0c;这既带来了生产力机会&#xff0c;也带来了社会风险。要构建值得信赖的 AI 系统&#xff0c;必须区分机器生成的内容和人类创作的内容。领先的零样本检测器 DetectGPT 展示了值得称赞的性能&…

Linux批量设置免密登录shell脚本

一&#xff1a;话不多说&#xff0c;直接上脚本 #!/bin/bash# 用户名和密码配置 USERNAME"root" PASSWORD"123456" NEW_ROOT_PASSWORDroot123# 转义新的 root 密码以安全地传递给远程 shell ESCAPED_PASSWORD$(printf %q "$NEW_ROOT_PASSWORD")…

200smart【编程入门】

说明 编程时&#xff0c;遇到困难就按【F1】 【I】输入 200smart 上限 i0.0~i31.7 255bit【255个输入点】 i0.0~i31.7 八进制 【布尔 bool 】 ib0~ib127 【单字节】 8bit iw0~iw127 …

Thingsboard规则链:Alarm Status Filter节点详解

在物联网(IoT)平台的世界里&#xff0c;数据处理与自动化响应是核心功能之一。作为其中的佼佼者&#xff0c;Thingsboard提供了一套强大的规则引擎系统&#xff0c;允许用户基于设备上报的数据构建复杂的自动化逻辑。在这套规则引擎中&#xff0c;Alarm Status Filter节点扮演了…

C++中获取int最大与最小值(补)

上文中&#xff0c;我们学习了C中获取int最大与最小值的两种方法&#xff1a;C库和移位运算&#xff0c;这篇文章将解决在移位运算中遇到的各种报错&#xff0c;并提出一种新的生成int最值的方法 上文链接&#xff1a;http://t.csdnimg.cn/cn7Ad 移位运算取最值常见报错 Dev…