处理程序错误时,时常会遇到需要借助int取值范围的情况,今天我们就来一起学习解决这个问题。
要想判断int类型的取值范围,首先要知道:
1.int类型所占字节数;
2.整型变量数据在内存中以什么方式存储;
获得int型所占字节数
#includeint main() { printf("%d\n",sizeof(int)); return 0; }
结果:
得到int所占字节数为4;
又得知
整型数据在内存中是以补码的方式存储;
所以当数据>=0时,原码 = 反码 = 补码;
数值范围为 0 ~ 2^31 - 1;
#include#includeint main() { int a = (pow(2, 31) - 1); printf("%d\n", a); return 0; }
结果 == 2^31 - 1;
当让 a 为 2^31时;
可以看到结果为 -2^31;
这是因为
当a为2^31 - 1时,在计算机中的存储为01111(31个1);(补码形式)
当a为2^31时,在计算机中的存储为01111(31个1) + 1 =10000(31个0);(补码形式)即为 -2^31在计算机中的存储形式;
当数据小于0时, 范围为 -2^31 ~ 0;
当a为- 2^31 - 1时;
为 2^31 -1;
所以int类型的取值范围为(- 2^31 ~ 2^31 -1)
各类基础数据类型的取值范围,在面试的时候可能会问到,所以大家一定要牢固掌握~更多Python学习推荐:PyThon学习网教学中心。
(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)
在 Python 中,如果 ws.send_text("1") 必须等待 load_dataset("beans") 加载完毕后才执行,这通常是因为代码中使用了某种形式的异步或并发控制机制。以下是几种可能的原因和解决方案:同步代码执行: 如果代码是同步执行的,那么 load_dataset("beans") 会在 ws.send_text("1") 之前完成,因为 Python 的代码是按顺序执行的。这种情况下,不需要额外的机制来确保顺序。load_dataset("beans") ws.send_tex
构建 API 让您的营销电子邮件远离垃圾邮件
如何构建大型烧瓶应用程序 - 5 人最佳实践
Python sys.modules详解:添加到sys.modules的模块是否已加载到内存?重启后数据如何?
如何用loguru打印变量值及错误堆栈信息?
Python如何控制机器人推杆?