[英]Sum of very large numbers
所以我想知道如何获得非常大的数字(10个或更多)。 例如:
number1 = 10481481258125812;
number2 = 10041284812488248;
number3 = 10041248812482488;
我想将这些数字相加并存储到一个名为sum的变量中,但是我以前从未在C中使用过如此大的数字。
谢谢!
如果要使用小于64位的数字,则可以使用int64_t / uint64_t / long long。 这些类型的最大大小:
int64_t和uint64_t在stdint.h中定义
如果您想使用更大的数量,可以使用GMPlib 。 一个简单的授课形式: https ://www.cs.colorado.edu/~srirams/courses/csci2824-spr14/gmpTutorial.html
试试这个:
#include <stdio.h>
int main ()
{
long long number1 = 10481481258125812;
long long number2 = 10041284812488248;
long long number3 = 10041248812482488;
long long sum = number1 + number2 + number3;
printf("sum : %lld",sum);
}
使用long long
,它支持更大的数字。 在某些编译器中,您也可以使用long long long
,但是您没有提及正在使用的编译器。
有关更多信息,请参见https://en.wikipedia.org/wiki/C_data_types 。
unsigned long long
可以处理如此大的数字,至少64位:
#include <stdio.h>
int main() {
unsigned long long number1 = 10481481258125812;
unsigned long long number2 = 10041284812488248;
unsigned long long number3 = 10041248812482488;
unsigned long long sum = number1 + number2 + number3;
printf("sum: %llu\n", sum);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.