int的极大值,无穷大

今天看到了ACWing上的寒假每日一题又开始了,在群里花一块钱拼了一下。
已经大概快要一年没有刷题了,上次刷题还是备战2022年蓝桥杯。

今天重新开始刷题,刷题的常识已经忘得差不多了,又要重新开始了。

今天第一道题,有一个地方需要用long long,然后我就开始想:int的最大是多少来着?写一篇随笔来记录一下今天的算法日记!

int的最大值

int是4字节,占32位,能表示的最大范围是
-2^31 ~~ 2 ^ 31 - 1,换成十进制就是 --2,147,483,648 ~~ 2,147,483,647
十进制大概就是2*10^9左右,

那么如何在代码中表示int的最大值呢?
一般刷题时,我习惯使用0x3f3f3f3f来表示int的最大值,大部分的场景已经够用了,这个用十进制表示是1061109567,是10^9级,但是用他来表示int的最大值还是有些牵强,所以打算干脆来一个彻底的。然后就去网上搜索,这是我总计的表示int最大值的几种方法

  1. C++内置的常量INT_MAX推荐使用
cout << INT_MAX ;
// 2147483647
  1. 十六进制表示0x7fffffff
  2. 位运算(1 << 31) - 1

在日常的算法中,用0x3f3f3f3f就可以,可以看下面这篇文章

参考文章
0x3f3f3f3f含义与优势_Alkali!的博客-CSDN博客_0x3f3f3f3f

补充

如果有两个int的变量a、b, 将a和b 运算后的结果赋给long long 类型的变量,如果a、b运算的结果溢出了,那么赋给c的结果就是溢出后的结果,所以为了避免此结果,需要将a、b也声明为 long long

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值