为什么计算2的63次方算不出来
Dev-C++输入代码#include <stdio.h>
#include <math.h>
int main()
{
unsigned long long int result;
result =pow(2,63)-1;
printf("result =%u\n",result);
return 0;
}
编译运行为什么没有正确结果出来 #include <stdio.h>
#include <math.h>
int main()
{
unsigned long long int result;
result = pow(2, 63) - 1;
printf("result =%llu\n", result); //unsigned long long 对应格式串为%llu
return 0;
}
结果为:result =9223372036854775808 昨非 发表于 2021-2-8 11:41
结果为:
谢谢,为什么%u就不能输出正确结果?为什么是%11 u 半路学习 发表于 2021-2-8 12:49
谢谢,为什么%u就不能输出正确结果?为什么是%11 u
我以为“ll”是数字11,原来“ll”是long long 首字母缩写ll,谢谢 半路学习 发表于 2021-2-8 12:59
我以为“ll”是数字11,原来“ll”是long long 首字母缩写ll,谢谢
解决了记得设置最佳答案{:10_297:} 我想问一下 为什么求2的63次方 pow(2,63)要减去1 窝窝头传奇 发表于 2021-2-8 15:21
我感觉-1是他的习惯,,,
李京 发表于 2021-2-8 15:30
窝窝头传奇 发表于 2021-2-8 15:21
我感觉-1是他的习惯,,,
不是的
窝窝头传奇 发表于 2021-2-8 15:33
不是的
他们在算能存放的最大值吧
李京 发表于 2021-2-8 15:30
窝窝头传奇 发表于 2021-2-8 15:21
我感觉-1是他的习惯,,,
这个是在算无符号数能存放的最大值 好像 窝窝头传奇 发表于 2021-2-8 15:36
这个是在算无符号数能存放的最大值 好像
unsigned long long 最大可以存放2的64次方-1
页:
[1]