Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [c#] convertire con codifica big endian
Forum - C# / VB.NET - [c#] convertire con codifica big endian - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:47
Giovedì, 26/09/2013
ho provato il codice però ho un piccolo problema: mi dovrebbe apparire il numero 983 però mi trovo 512

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 23:56
Lunedì, 30/09/2013
Scusa il ritardo nella risposta, c'è un problema con le notifiche mail nel sito.

512 vuol dire in bytes: 00000010 00000000

983 sarebbe un: 00000011 11010111

Come vedi sono parecchio diversi. Ci deve essere qualche problema proprio a monte su come prendi l'input prima ancora della covnersione little-bigendian.

Mostraci il codice che usi

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 20:29
Giovedì, 03/10/2013
io ho utilizzato questo codice:

Codice sorgente - presumibilmente C# / VB.NET

  1. short input = 258;
  2. byte[] bytes = BitConverter.GetBytes (input);
  3. Int16 littleEndian = BitConverter.ToInt16 (bytes.ToArray(), 0);
  4. Int16 bigEndian = BitConverter.ToInt16 (bytes.Reverse().ToArray(), 0);




PM Quote
Avatar
ZioCrocifisso (Member)
Pro


Messaggi: 135
Iscritto: 06/03/2013

Segnala al moderatore
Postato alle 21:21
Giovedì, 03/10/2013
258 diventa 513, non 983, puoi verificarlo convertendo a riconvertendo tra binario e decimale. L'operazione bitwise (la prima, quella di una sola riga, non la seconda lunga e incomprensibile) restituisce 513.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:02
Venerdì, 04/10/2013
si lo so che 258 non può diventare 983, ho preso il codice dalla prima pagina

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo