gpt4 book ai didi

java - 如何找到 2 的 n 次方。 n 的范围从 0 到 200

转载 作者:搜寻专家 更新时间:2023-10-30 21:36:33 26 4
gpt4 key购买 nike

假设我的系统是 32 位机器。考虑到这一点,如果我对 n>63 使用 long int,我的值将变为 0。如何解决?

最佳答案

double 完全能够恰好 存储高达 1023 的 2 的幂。不要让别人告诉您 float 总是不准确。这是一个特殊情况,它们不是!

double x = 1.0;
for (int n = 0; n <= 200; ++n)
{
printf("2^%d = %.0f\n", n, x);
x *= 2.0;
}

程序的一些输出:

2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
...
2^196 = 100433627766186892221372630771322662657637687111424552206336
2^197 = 200867255532373784442745261542645325315275374222849104412672
2^198 = 401734511064747568885490523085290650630550748445698208825344
2^199 = 803469022129495137770981046170581301261101496891396417650688
2^200 = 1606938044258990275541962092341162602522202993782792835301376

关于java - 如何找到 2 的 n 次方。 n 的范围从 0 到 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2763117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com