我们都知道,在数字信号处理方面,经常会碰到需要将一个正整数向上圆整为2的n次方的数据的情况。比如在做频谱分析时,常要求数据点数必须满足为2的n次方,满足此种情况才可用傅里叶变换的基2快速算法,以达到较好的运算速度。所以从事相关方面的工作人员,了解C语言中如何实现,是非常必要的。本文小编就给大家分享一下其具体的方法。
#include <iostream>
#include <cmath>
using namespace std;
int main( void )
{
// 如果你需要的是整型,移位即可
{
// 输出2的30次方
cout << (1u<<30) << endl; // 1073741824
// 输出2的60次方
cout << (1ull<<60) << endl; // 1152921504606846976
}
// 如果你需要的是浮点型,那得用<cmath>中的库函数
{
// 输出2的50次方
cout << ldexp(1.0,50) << endl; // 1125899906842624
// 在C++11和C99时,增了一个更简单的函数exp2
cout << exp2(50) << endl; // 1125899906842624
}
}
以上就是“如何在c语言中快速输出2的n次方”的详细内容,想要了解更多C语言相关内容欢迎持续关注编程学习网 扫码二维码 获取免费视频学习资料

- 本文固定链接: http://phpxs.com/post/9004/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取