用浮点数计算2的幂的技巧
适用范围
仅适用于计算
2n
2
n
<script type="math/tex" id="MathJax-Element-124">2^n</script>的精确值,且
|n|<214
|
n
|
<
2
14
<script type="math/tex" id="MathJax-Element-125">\left\vert n\right\vert<2^{14}</script>
浮点数能精确表示
2n
2
n
<script type="math/tex" id="MathJax-Element-126">2^n</script> ,因为大部分浮点数内部都以
2
2
<script type="math/tex" id="MathJax-Element-127">2</script>为底数,<script type="math/tex" id="MathJax-Element-128">n</script>的范围与浮点数类型有关。常用浮点数最高精度的
long
l
o
n
g
<script type="math/tex" id="MathJax-Element-129">long</script>
double
d
o
u
b
l
e
<script type="math/tex" id="MathJax-Element-130">double</script>也只有
15
15
<script type="math/tex" id="MathJax-Element-131">15</script>位阶码
printf("%.0Lf",powl(2L,tot));
注意:一定要用 powl() p o w l ( ) <script type="math/tex" id="MathJax-Element-133">powl()</script>
浙公网安备 33010602011771号