我刚刚开始用c编程,我知道python的一些基础知识,所以当我在python中为变量设置一个非常大的int值时说'58944651132156484651'并打印该变量,一切都会好起来,但是当我对c做相同的回答时,是247 ...将会出现很多问题,例如我无法将我的电话号码设置为变量,还有很多类似的事情,所以请帮助我解决这个问题。记住我是python用户,现在我正在学习c。
/*code in c*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num = 456465465456456465465456;
printf("%d \n", num);
return 0;
}
#code in python
num = 54454564564848431284132116483211
print(num)
#that's better than the c's big print :(
Run Code Online (Sandbox Code Playgroud)
为了使Python支持无固定限制的整数,它必须包含许多管理数据的软件。由于没有固定大小,因此Python必须为其整数对象支持可变长度。这意味着它必须跟踪这些长度,必须为其分配和释放可变数量的内存,并且必须具有对它们执行复合算术运算的例程。这很慢并且相对昂贵。
C在很大程度上被设计为可以更直接地访问计算机。它提供了基本的操作,使程序员可以构建自己的更复杂的功能或将其操作限制在计算机的自然范围内。总的来说,用一个简单的处理器指令来实现C中两个数字的加或乘,而对于相同的值,Python可能需要数十个。
这意味着intin C 的最大值很大程度上取决于计算机处理器在其操作中提供的内容。您问什么是限制大小的“需求”:只需简单地确定an int的最大值就是可以支持的最大值,而无需使用其他指令或资源来表示更大的值。
您还应该知道,C没有指定an int的最大值为2,147,483,647。C被设计为灵活和可移植的,并且intC的实现因C的实现而异。至少是32,767。这些天共有2,147,483,647,但其他值是允许的。
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |