Ho una matrice di Float che devono essere convertiti in un array di byte e tornare a un float [] ... qualcuno può aiutarmi a farlo correttamente?Come posso convertire un array di float in un byte [] e viceversa?
Sto lavorando con la classe bitConverter e mi sono trovato bloccato cercando di aggiungere i risultati.
Il motivo per cui sto facendo questo è che posso salvare i valori di runtime in un flusso IO. La memoria di destinazione è un BLOB della pagina di Azure nel caso in cui ciò sia importante. Non mi interessa sapere in quale endian è archiviato, purché l'input corrisponda all'output.
static byte[] ConvertFloatToByteArray(float[] floats)
{
byte[] ret = new byte[floats.Length * 4];// a single float is 4 bytes/32 bits
for (int i = 0; i < floats.Length; i++)
{
// todo: stuck...I need to append the results to an offset of ret
ret = BitConverter.GetBytes(floats[i]);
}
return ret;
}
static float[] ConvertByteArrayToFloat(byte[] bytes)
{ //to do }
Si può lavorare con serializzazione/deserializzazione a/da un flusso di memoria? Si potrebbe quindi ottenere la matrice 'byte' dal flusso o costruire un flusso da una matrice' byte'. –
Utilizzo dei metodi di serializzazione .Net? Preferirei non includere alcun XML e solo prendere un bit-data grezzo ... il sistema è piuttosto ottimizzato e ogni bit è rappresentato per ... – LamonteCristo
puoi eseguire la serializzazione binaria invece della serializzazione XML: http: // msdn .microsoft.com/it/us/library/system.runtime.serialization.formatters.binary.binaryformatter.aspx –