C语言|int型最大值和最小值

article/2025/10/31 7:28:04

一.int型的最值

有符号

  • 最小值:-2147483647-1
  • 最大值:2147483647

无符号

  • 最大值:0xffffffff
  • 最小值:0
  •  大家可以在整形类型的取值范围限制头文件中查看:limits.h

二.int型最小值的原因

当我们直接给int型变量赋-2147483648时会发生什么?

 会发生错误,VS给出的原因是

 事实上,当我们把最小值-2147483648赋给整形变量时,发生了两次变化

  1. 输入数字2147483648,因为整形的最大值为2147483647,整形变量无法接收,需要发生隐式类型转化,由int型变为unsigned int
  2. 在将负号赋给此时的变量,结果仍为2147483648

如果这样赋值后,结果是正确的,这会使编译器无法确认输入的值。

例如:

int a = 10 > (-2147483648);

-2147483648发生整形提升,变为正数,10跟着发生整形提升但没有改变,结果为0;

而写成-2147483647-1的形式,编译器会判断它是个负数,从而赋值

所以当我们需要使用正数的最小值时,可用如下方法:

  1. 使用limits.h头文件包含的宏定义名INT_MIN
  2. 直接使用-2147483647-1,或者-2147483646-2都可以(需要更小的数时也要用此方法) 

http://chatgpt.dhexx.cn/article/KJpyJgic.shtml

相关文章

软件测试管理神器之zentao(禅道)-BUG管理

软件测试管理神器之zentao(禅道)-BUG管理 禅道在遵循其管理方式基础上,结合国内研发现状,整合了bug管理,测试用例管理,发布管理,文档管理等功能,完整的覆盖了软件研发项目的整个生命周期。在禅道软件中&…

软件测试Bug

bug组成 缺陷编号-测试管理系统自动生成缺陷标题->用简短精确的话语来描述你的bug缺陷类型--代码错误(功能--预期结果--Bug/未做功能---bG)/设计缺陷(需求不全面,考虑的场景遗漏)/界面优化(U-—致,去检查ui)缺陷等级-->致命(系统瘫痪、环境出错、无法进入下一步测试)/严…

禅道—禅道Bug管理模块

禅道官网:https://www.zentao.net/ 简介: 开源免费的项目管理软件、集产品管理、项目管理、测试管理一体以及事物管理组织管理的功能 使用原因: 开源 方便跟踪管理Bug使用简单易学及多种管理于一身 1、Bug操作流程 2、Bug的几种解决方案 …

软件测试bug文章,软件测试技术之说一个让你印象最深的bug?

本篇文章主要讲述软件测试技术之说一个让你印象最深的bug?,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。 今天来聊一下测试面试必问题目:说一个让你印象最深的bug? 被问到这个问题,如果面试者之前没有总结和准备过,会一下子被问懵逼,瞬间紧张…

软件测试常见Bug清单

软件测试中,bug的类型有很多种,比如:代码错误、界面优化、设计缺陷、需求补充和用户体验等; 一般情况下,需求补充和设计缺陷比较好区分,但是代码错误、界面优化和用户体验区分不是很明显; 下面…

禅道的Bug管理流程介绍

禅道是一款以Bug管理为核心,覆盖全人员、全流程的全生命周期项目管理软件。能够为项目研发提供全程支撑,持续对团队的研发项目进行有序的管理和跟进,完整覆盖研发项目的核心流程。 非常多团队关注禅道的主要原因是关注禅道作为Bug管理工具、…

常用BUG管理工具系统

常用BUG管理系统 1.EasyBUG 优点: 1)基于WEB的在线的,不用配置; 2)界面简单,操作容易上手,基本上只要是会上网的人一看就会用 3)拥有截图功能,以图片的形式直接存在,而不是以附件形式; 4)BUG解决流程记录在案;有统计报表,一目了然; 5)国产且免费的。 缺点:…

常用BUG管理工具系统介绍

1.BUG猫 1)基于WEB的在线的,不用配置; 2)界面简单,操作容易上手,基本上只要是会上网的人一看就会用; 3)截图直接可以粘贴,而不需要保存之后再上传; 4)描述以图片的形式直接存在,…

Bug软件缺陷管理制度

软件缺陷又被叫做Bug。所谓软件缺陷,即为软件中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。IEEE729-1983对缺陷有一个标准的定义:从产品内部看,缺陷是…

有什么比较好的bug管理工具?5款热门工具推荐

工具再优秀,适合自己才最重要。 为尽量讲透这个问题,本文的行文结构我先整理如下: 1、为什么需要bug管理工具? 2、好的bug管理工具的标准是什么? 3、好的bug管理工具推荐(5款) 4、如何挑选适合…

常用的bug管理工具--推荐『禅道bug管理工具』

一、常用bug管理工具 (1)EasyBUG:基于WEB的在线的,不用配置,界面简单,操作容易上手,但需要手动录入bug标题,保存bug截图提交,追踪及时性靠人工自觉。 QC(Quality Center)…

2022年国内外主流的10款Bug跟踪管理软件

这篇文章将会分享国内外主流的10款Bug跟踪管理软件,实现对对Bug报告的记录、分析和状态更新等管理,他们分别是:PingCode 、ClickUp、 Jira、Redmine Tool、Redmine Tool、Zoho Bug Tracker、Asana、nTask、Bugzilla、Mantis BT、BugLog HQ。 …

国内外最好用的6款Bug跟踪管理软件,测试员不可不知!

现在到处都在说Bug管理,但是,Bug管理究竟是什么呢?是仅仅对项目的bug进行管理?那要文件夹不就行了么,要什么bug管理系统? 那么,bug管理究竟是做什么的呢? 要了解bug管理&#xff0…

CGLIB 动态代理

目录 CGLIB 动态代理 简单结构: 添加依赖 定义类 CGLIB 动态代理 JDK的动态代理机制只能代理实现了接口的类。而不能实现接口的类就不能使用JDK的动态代理,CGLIB是针对类来实现代理的,它的原理是对指定目标类生成一个子类,并覆盖其中的方法…

jdk代理和cglib代理

1.jdk代理 描述:jdk代理,就是一个类A实现某个接口G,重写了G的方法。现在要对A的方法进行增强,但是不要修改A的代码。所以创建类B,也实现接口G,在这个方法里面写增强业务,但是具体方法调用A的。…

cglib代理解析

工作原理 使用 <dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>3.3.0</version></dependency>对类和接口分别进行代理 DemoService package com.fanqiechaodan.user.service;/*** author fa…

CGLib之Enhancer

Enhancer允许为非接口类型创建一个Java代理。Enhancer动态创建了给定类型的子类但是拦截了所有的方法。和Proxy不一样的是&#xff0c;不管是接口还是类他都能正常工作。 来个场景模拟一下AOP package cglib.enhancer;public class Hello {public String sayHello(boolean thr…

cglib源码学习交流

背景 前段时间在工作中&#xff0c;包括一些代码阅读过程中&#xff0c;spring aop经常性的会看到cglib中的相关内容&#xff0c;包括BeanCopier,BulkBean,Enancher等内容&#xff0c;以前虽大致知道一些内容&#xff0c;原理是通过bytecode&#xff0c;但没具体深入代码研究&a…

CGLib浅析

CGLib浅析 什么是CGLib CGLIB实现动态代理&#xff0c;并不要求被代理类必须实现接口&#xff0c;底层采用asm字节码生成框架生成代理类字节码(该代理类继承了被代理类)。 所以被代理类一定不能定义为final class并且对于final 方法不能被代理。 实现需要 //MethodIntercept…

CGLIB

1、CGLIB 官网&#xff1a;http://cglib.sourceforge.net CGLIB是一个强大的高性能的代码生成包。它被许多AOP的框架&#xff08;例如Spring AOP&#xff09;使用&#xff0c;为他们提供方法的interception&#xff08;拦截&#xff09;。 Hibernate也使用CGLIB来代理单端si…