我基本上想將我正在讀取的這些數據傳遞給不同的函數並最終繪製它。轉換和傳遞數組
該數組包含'1'和'0'的32位字,然後我想將這些單獨位添加到一起以查看數據尖峯的位置。換句話說,如果我將「0100」添加到「0110」,我會得到「0210」 - 這可能更容易用單獨的容器和繪圖進行。
目前,我只是得到垃圾。
void binary(int convert, int* dat) {
bitset<32> bits(convert);
//cout << bits.to_string() << endl;
char data[32];
for(unsigned i = 0; i < 32; ++i) {
data[i] = bits[i];
}
for(unsigned i = 32; i; --i) {
dat[i] = (int(data[i-1]))+dat[i];
}
}
void SerDi() {
int dat[32];
cout << " Reading data from memory..." << endl;
ValVector< uint32_t> data=hw.getNode("SerDi.RAM").readBlock(8);
hw.dispatch();
cout << data[0]<<endl;
cout << data[1]<<endl;
for (unsigned i = 2; i < 7; i++) {
binary(data[i], dat);
}
cout << dat[7] << endl;
graph(dat); //passes the array to a place where I can plot the graph
}
「*換句話說,如果我將」0100「添加到」0110「,我會得到」0210「*」當然,只要您使用二進制數字(基數2)進行累加,這將永遠不會工作。你需要一個「矢量」或類似的積累。 –
好吧,我嘗試了一個「矢量 dat」,但我運行它時出現了分割錯誤。 –
fiz
這聽起來像是一個完全不同的問題。 –