我想了解的過程獲得成千上萬的浮點數據類型的是過去作爲一個Java對象(byte數組)鑄造從Java對象到彩車
我們使用類似的方法在C++中我們存儲的值在一個巨大的字符數組中的數據,我們簡單地將其轉換爲使用float數組的reinterpret_cast並做float數組上工作:
// Get the data.
char *data = signalBlock->getData();
float *eegData = reinterpret_cast<float*>(data);
在Objective C中,我們存儲在一個NSData對象中的數據,我們能夠投這個簡單的例程數據:
// Get the signal Data.
NSData* data = signalBlock.data;
float* floatData = (float*)malloc(dataBlockSize);
[data getBytes:floatData length:dataBlockSize];
我想知道這對Java是否合適,或者如果有更高效的方法來做到這一點。我如何將整個對象轉換爲浮點數組?
byte[] dataBytes = (byte[])(block.data); // block.data is a java object
ByteBuffer dataBuffer = ByteBuffer.wrap(dataBytes);
dataBuffer.order(ByteOrder.LITTLE_ENDIAN);
for(int i = 0; i < 200000; i+=4){
float fVal = dataBuffer.getFloat(i);
System.out.println(fVal);
}
謝謝。
什麼樣的'Object'是'block.data'?在java中,你從來沒有直接得到一個對象(僅僅是一個參考)。 –
它的字節數組 – Miek