我们都知道,在数字信号处理方面,经常会碰到需要将一个正整数向上圆整为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高级编程视频教程免费获取