我是一名新的C ++程序员,我想问你一个简单的问题,但我不明白为什么输出仍然给我重复数据:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream> // std::ifstream
#include <string.h>
#include <iostream>
#include <complex>
#include <sstream>
#include <vector>
#include <cmath>
#include <iomanip>
using namespace std;
int main(){
int nfft;
nfft = 256;
vector<float>f;
for(unsigned i=0; i<nfft; i++){
f.push_back(((i/(nfft-1))-0.5)*8e6);
}
for(unsigned i=0;i<nfft;i++){
cout << f[i] << endl;
}
}
我的期望是一个向量:[ - 4.0000 -3.9686 -3.9373 -3.9059 -3.8745 -3.8431 -3.8118 -3.7804 -3.7490 -3.7176 -3.6863 -3.6549 ....... 3.9059 3.9373 3.9686 4.0000]
请帮我解决这个问题。
非常感谢你。
答案 0 :(得分:2)
(i/(nfft-1))
受括号保护很好,因此执行整数除法。
自nfft > i
以来,您获得零=&gt;永远是相同的价值。
如何使用ix的示例:
f.push_back(((float(i)/(nfft-1))-0.5)*8e6)