在算法竞赛中,应该对常用数据类型,比如int,longlong,所能够表示的最大范围有所了解。

比如最简单的求两个数的和,输入a,b,输出a+b。但如果a和b的位数分别都超过20位应该怎么做呢?

预储备知识:你需要有一些数据在内存中的相关知识,不需要多,能看懂这张图就OK。

先上代码,再做解释:

#include<iostream>
#include<string.h>//sprintf需要它
using namespace std;
int main()
{unsigned int i=-1;cout<<"int最多能表示多少个数(不包括0):"<<i<<endl;int x=1;while(x>0){x++;}cout<<"最小负整数"<<x<<endl;x--;cout<<"最大正整数:"<<x<<endl;char buf[100];sprintf(buf,"%d",x);cout<<"最大正整数有多少位:"<<strlen(buf);return 0;
}

运行结果:

解释:

首先运行时间因机器而异,需要等一下。

unsigned int i 表示 i 不带符号,而我们给 i 赋值为-1,根据最上面的图片,现在的i表示的是:0顺时针走一步,相当于int能表示的最大正整数(没有符号,所以没有负数)。

接下来我们让x=1,弄个循环,让他走啊走,根据最上面的图片,他会走到负数,循环结束,此时的x就是最小负数,而接下来我们让x走回去(x--);x就变成了最大正整数了。

接下来就没什么了。我们用sprintf把x打印到buf(相当于把整形转化为字符串),然后用strlen返回buf的长度。

所以我们就有一个概念:啊,原来int能够表示的最大数是:以2开头的10位正整数。

最后附上long long 的运行结果:

所以,在世界上有一种东西叫做:大整数。

求int所能表示的最大整数相关推荐

  1. ACMNO.39 分解质因数 求出区间[a,b]中所有整数的质因数分解。蓝桥杯训练!

    题目描述 求出区间[a,b]中所有整数的质因数分解. 输入 输入两个整数a,b. 输出 每行输出一个数的分解,形如k=a1*a2*a3...(a1< =a2< =a3...,k也是从小到大 ...

  2. php实现 求int型数据在内存中存储时1的个数(函数都可自己实现)

    php实现 求int型数据在内存中存储时1的个数(函数都可自己实现) 一.总结 一句话总结:函数我们自己都可以实现,尤其是很多基础函数,没有工具的时候自己写. 1.php进制转换函数? base_co ...

  3. C++位运算:求 int 绝对值

    对应力扣题目: 编写一个方法,找出两个数字a和b中最大的那一个.不得使用if-else或其他比较运算符 参考自解答: dexin的解答 如何使用位运算对整数求绝对值呢? 对于正数,数值是其本身: 对于 ...

  4. 自定义函数fac1用递推方法求n!,自定义函数fac2用递归方法求n!,主函数中输入整数n(0≦n≦10)后,分别调用函数fac1和函数fac2求n!,最后输出调用的结果值进行对比。

    自定义函数fac1用递推方法求n!,自定义函数fac2用递归方法求n!,主函数中输入整数n(0≦n≦10)后,分别调用函数fac1和函数fac2求n!,最后输出调用的结果值进行对比. 参考运行截图: ...

  5. java随堂练习02,求一个0~255范围内的整数的十六进制值,例如60的十六进制表示形式3C

    /***作者:csdn风度翩翩猪肉佬* 日期:2021/4/4* 求一个0~255范围内的整数的十六进制值,例如60的十六进制表示形式3C* */ public class Exer16 {publi ...

  6. 【JAVA】求出区间[a,b]中所有整数的质因数分解。

    问题描述 求出区间[a,b]中所有整数的质因数分解. 输入格式 输入两个整数a,b. 输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小 ...

  7. 【牛客网 - 华为机试 - HJ15 求int型正整数在内存中存储时1的个数】

    描述 输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数. 数据范围:保证在 32 位整型数字范围内 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进 ...

  8. 华为机试第十五题:HJ15 求int型正整数在内存中存储时1的个数

    华为机试第十五题:HJ15 求int型正整数在内存中存储时1的个数 一.网址链接 二.题目描述 ①描述 ②输入描述 ③输出描述 ④示例一 ⑤示例二 三.代码实现 ①Java代码实现 ②C++代码实现 ...

  9. c++ 求int数组的长度

    c++ 求int数组的长度 网上有一些方法是 sizeof(arr) / sizeof(arr[0]); 这种方法放在函数中,是不对的 我自己的方法是 #include <bits/stdc++ ...

最新文章

  1. 计算机视觉方向简介 | 半全局匹配SGM
  2. 配置mysql数据库时出再错误:LookupError No installed app with label admin(亲测)
  3. 数据库case when语句
  4. 【SpringBoot】浏览器报错Resource interpreted as Stylesheet but transferred with MIME type text/html
  5. 第九章 结构体与共用体
  6. 3.27模拟赛 sutoringu(后缀数组)
  7. 如果你产品的卖点跟竞争对手一样,那你怎么脱颖而出?
  8. chmod 用法示例
  9. Mysql Hash索引和B-Tree索引区别(Comparison of B-Tree and Hash Indexes)
  10. 插件占坑,四大组件动态注册前奏(二) 系统Service的启动流程
  11. 拓端tecdat|R语言结合新冠疫情COVID-19对股票价格预测:ARIMA,KNN和神经网络时间序列分析
  12. nand flash 读写测试
  13. 使用jquery处理多选框checkbox选中和未选中的值
  14. linux 局域网传文件,利用ssh在linux系统之间在局域网内传输文件
  15. 团队项目(2.1) -- 飞机躲避小游戏
  16. 前端学习路线之基础篇-李南江
  17. 7-3 求100以内的素数
  18. python 网页自动化实现
  19. 五分钟学GIS | BIM与三维GIS的融合
  20. RPC(1)HttpClient详细使用 含demo

热门文章

  1. linux蓝牙适配器驱动安装失败,deepin官方论坛-深度科技官网旗下网站
  2. 计算机课程收获ppt模板,大学计算机实验心得收获.ppt
  3. 老挑毛u盘一键装系统计算机意外地,揭谜一键Ghost的“恶”事 大白菜、老毛桃、通用都不干净...
  4. 【WIN32之旅】WINDOWS错误处理与参考(四)
  5. 因果关系基本概念:后门标准
  6. Qt 软件开发框架(详细版)
  7. Twitter CEO自曝成长经历:生活充满了偶然
  8. vue中利用particlesJS实现鼠标动画粒子连线效果
  9. 51单片机生成二维码
  10. 基于ZYNQ的光纤-以太网高速传输系统设计