C 大整数

C 大整数,c,algorithm,C,Algorithm,大家好,我遇到了一些编程问题,遇到了一件奇怪的事情,问题要求我做一些不相关的逻辑,或者我也不要求这里的逻辑,但问题涉及整数,我说我应该考虑整数值小于1000000000 我不知道要用什么数据类型来存储这样的范围,或者,假设某个C程序在某些银行应用程序中使用了如此巨大的no,我们如何存储如此巨大的no,注意:即使是“long long”类型也无法存储如此巨大的no,那么我们如何存储这样的no呢?您可以想象存储在数据库中的值,其中可以为数据列指定数字精度。但更可能的是,指定特定值是为了迫使您考虑算法

大家好,我遇到了一些编程问题,遇到了一件奇怪的事情,问题要求我做一些不相关的逻辑,或者我也不要求这里的逻辑,但问题涉及整数,我说我应该考虑整数值小于1000000000
我不知道要用什么数据类型来存储这样的范围,或者,假设某个C程序在某些银行应用程序中使用了如此巨大的no,我们如何存储如此巨大的no,注意:即使是“long long”类型也无法存储如此巨大的no,那么我们如何存储这样的no呢?

您可以想象存储在数据库中的值,其中可以为数据列指定数字精度。但更可能的是,指定特定值是为了迫使您考虑算法或代码将如何处理数字溢出

顺便说一句,许多系统使用64位长,它可以保存您提到的值。这是一个很好的网站,可以尝试数字并获得直观的感觉:


如果可能,使用
int64\u t
代替标准库标题
stdint.h
中定义的
long
。它肯定能保存64位整数。可表示的大数为2**63-1,即9223372036854775807(9e18)。所以它可以容纳1000000000

long-long
当然可以存储1000000000的值。您可以将输入作为字符串,然后对其进行相应的分析。@Sneftel大于long-long范围的数字如何?可能重复的不使用
long-long
,您不知道它有多大,以防代码需要可移植。使用
int64\t
。long-long必须至少有64位,因此它也可以容纳1000000000位,而不管实际精度如何