用浮点数计算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>为底数,n<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>

posted @ 2018-08-16 13:02  Mingoal  阅读(47)  评论(0)    收藏  举报  来源