仍然给我一个重复的矢量

时间:2016-11-04 20:18:38

标签: c++

我是一名新的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]

请帮我解决这个问题。

非常感谢你。

1 个答案:

答案 0 :(得分:2)

(i/(nfft-1))受括号保护很好,因此执行整数除法

nfft > i以来,您获得零=&gt;永远是相同的价值。

如何使用ix的示例:

f.push_back(((float(i)/(nfft-1))-0.5)*8e6)