在C数据类型中保存(2 ^ 52)数字

时间:2018-04-11 05:36:57

标签: c data-structures

我正在使用c做一个项目,我在做一些计算时遇到了一个问题..实际上我想在任何数据类型中存储一个大数字(2 ^ 52)

int helper = TwoOf(26);//52 over 2

unsigned long long help = helper * helper;
  
      
  • function ofof(x) - >计算x ^ 2
  •   
     

我使用long long来存储2 ^ 52但调试器显示它的值为零。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

如果您不需要一位数的准确度并且对一些有效数字感到满意,请使用double

答案 1 :(得分:-1)

您可以长时间存储...尝试此功能

long long tp52=1,i;
for(i=0;i<52;i++)
     tp52*=2;
printf("%lld",tp52);

和Twoof(x) - &gt;计算x ^ 2 然后x ^ 2 * x ^ 2是x ^ 4

尝试在线编译器作为32位机器不能存储此