unsigned NumberOfBitsNeeded ( unsigned PowerOfTwo ) //===========计算需要运算的点数是 2的几次方,返回指数============= { unsigned i; //左移不关心符号,所以这里定义无符号数 if ( PowerOfTwo < 2 ) //数据必须比2大,否则无意义。 { fprintf (stderr,">>> Error in fftmisc.c: argument %d to NumberOfBitsNeeded is too small./n",PowerOfTwo ); exit(1); } for ( i=0; ; i++ ) { if ( PowerOfTwo & (1 << i) )//二次方运算,直到得到本身为止 return i; //找到开方数,返回 } }