Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Buona sera! Nonostante ne esistano già, sto provando a creare una versione personalizzata di una libreria per la gestione di immagini TIFF attraverso l'uso di classi. Per poter gestire il contenuto delle immagini sto seguendo la descrizione della loro struttura byte per byte. Per esempio all'inizio di ogni immagine è presente un image file header composto da 8 byte il cui ordine può essere big endian o little endian a seconda del valore dei primi due byte. Tralasciando comunque questi dettagli, il problema che ho è il seguente:
Supponendo di dover leggere un intero di 16 bit, leggendo 8 bit per volta, cioè due byte attraverso per esempio un codice del genere:
Codice sorgente - presumibilmente C/C++
char dueByte[2];
ifstream imgStream("immagine.tif");
imgStream.read(dueByte, sizeof(dueByte));
E supponendo che l'ordine dei byte sia little endian, come posso ricostruire l'intero partendo dai due byte?
Io ho pensato ad una cosa del genere:
Codice sorgente - presumibilmente C/C++
int numeroFinale;
char *charPointer = (char *)(&numeroFinale);
*charPointer = dueByte[0];
*(charPointer+1) = dueByte[1];
Teoricamente funziona però mi chiedevo se è questo il metodo standard o se esiste qualcosa di meglio.
Ah quasi dimenticavo, siccome è il mio primo post, ciao a tutti!! Studio, o almeno ci provo, ing. informatica a Parma e sono un drogato di big bang theory