Python中int的取值范围

1,159次阅读
没有评论

处理程序错误时,时常会遇到需要借助int取值范围的情况,今天我们就来一起学习解决这个问题。

要想判断int类型的取值范围,首先要知道:

1.int类型所占字节数;

2.整型变量数据在内存中以什么方式存储;

获得int型所占字节数

#includeint main() {    printf(“%d\n”,sizeof(int));    return 0; }

</pre>
结果:

<img loading="lazy" class="aligncenter size-full wp-image-11132" src="https://www.python51.com/wp-content/uploads/2021/04/1603963992759521.png" width="668" height="439" srcset="https://www.python51.com/wp-content/uploads/2021/04/1603963992759521.png 668w, https://www.python51.com/wp-content/uploads/2021/04/1603963992759521-228x150.png 228w, https://www.python51.com/wp-content/uploads/2021/04/1603963992759521-380x250.png 380w" sizes="(max-width: 668px) 100vw, 668px" />

得到int所占字节数为4;

又得知

整型数据在内存中是以补码的方式存储;

所以当数据>=0时,原码 = 反码 = 补码;

数值范围为 0 ~ 2^31 – 1;

#include#includeint main() {    int a = (pow(2, 31) – 1);    printf(“%d\n”, a);    return 0; }
<pre class="brush:js;toolbar:false">

 

Python中int的取值范围

结果 == 2^31 – 1;

当让 a 为 2^31时;

Python中int的取值范围

可以看到结果为 -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时;

Python中int的取值范围

为 2^31 -1;

所以int类型的取值范围为(- 2^31 ~ 2^31 -1)

各类基础数据类型的取值范围,在面试的时候可能会问到,所以大家一定要牢固掌握。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-06-08发表,共计565字。
新手QQ群:570568346,欢迎进群讨论 Python51学习