Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Lettura con ordine dei byte big/little endian
Forum - C/C++ - Lettura con ordine dei byte big/little endian

Avatar
Mariol (Normal User)
Newbie


Messaggi: 2
Iscritto: 05/11/2010

Segnala al moderatore
Postato alle 0:45
Venerdì, 05/11/2010
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++

  1. char dueByte[2];
  2. ifstream imgStream("immagine.tif");
  3.  
  4. 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++

  1. int numeroFinale;
  2. char *charPointer = (char *)(&numeroFinale);
  3.  
  4. *charPointer = dueByte[0];
  5. *(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 :rotfl:

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 12:12
Venerdì, 05/11/2010
qualsiasi algoritmo valido per lo scambio di due variabili va bene. :-) ciao e benvenuto!


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote
Avatar
Mariol (Normal User)
Newbie


Messaggi: 2
Iscritto: 05/11/2010

Segnala al moderatore
Postato alle 21:32
Sabato, 06/11/2010
Testo quotato

Postato originariamente da TheKaneB:

qualsiasi algoritmo valido per lo scambio di due variabili va bene. :-) ciao e benvenuto!



Ok perfetto, io cercavo chissà quale algoritmo sopraffino :rofl:

Comunque grazie per la risposta! :)

PM Quote