Articles of endianness

Marshal.PtrToStructure (e ritorno) e soluzione generica per lo scambio di endianness

Ho un sistema in cui un agente remoto invia strutture serializzate (da un sistema C incorporato) da leggere e archiviare tramite IP / UDP. In alcuni casi ho bisogno di inviare gli stessi tipi di struttura. Ho pensato di avere un buon setup usando Marshal.PtrToStructure (receive) e Marshal.StructureToPtr (send). Tuttavia, un piccolo trucchetto è che […]

Programma C per controllare poco contro big endian

Possibile duplicato: C Definizione di macro per determinare la macchina big endian o little endian? int main() { int x = 1; char *y = (char*)&x; printf(“%c\n”,*y+48); } Se è little endian, stamperà 1. Se è big endian, stamperà 0. È corretto? Oppure l’impostazione di un carattere * su int x punta sempre al bit […]

Punto galleggiante Endianness?

Sto scrivendo un client e un server per un simulatore off-shore in tempo reale e, dato che devo inviare molti dati attraverso un socket, sto usando dati binari per massimizzare la quantità di dati che posso inviare. Conosco già gli interi endianness e come usare htonl e ntohl per aggirare i problemi di endianness, ma […]

Conversione di valori float da big endian a little endian

È ansible convertire float s da big a little endian? Ho un grande valore endian da una piattaforma PowerPC che sto inviando via TCP a un processo di Windows (little endian). Questo valore è un float , ma quando memcpy il valore in un tipo float Win32 e quindi richiamo _byteswap_ulong su quel valore, ottengo […]

Converti Little Endian in Big Endian

Voglio solo chiedere se il mio metodo è corretto per convertire da little endian a big endian, solo per essere sicuro di capire la differenza. Ho un numero che è memorizzato in little-endian, qui ci sono le rappresentazioni binarie e esadecimali del numero: ‭0001 0010 0011 0100 0101 0110 0111 1000‬ ‭12345678‬ Nel formato big-endian […]

Perché x86 little endian?

Una vera domanda che mi sono posta ultimamente è che le scelte di design hanno portato x86 ad essere un’architettura little endian invece di un’architettura big endian?

Come verificare se un sistema è big endian o little endian?

Come verificare se un sistema è big endian o little endian?

Come funziona questo programma?

#include int main() { float a = 1234.5f; printf(“%d\n”, a); return 0; } Visualizza uno 0 !! Come è ansible? Qual è il ragionamento? Ho deliberatamente messo un %d printf per studiare il comportamento di printf .

Differenza tra Big Endian e Little Endian Byte

Qual è la differenza tra l’ordine Big Endian e Little Endian Byte? Entrambi sembrano essere correlati a Unicode e UTF16. Dove lo usiamo esattamente?

Effettuare il marshalling di una collezione di byte big-endian in una struttura per estrarre valori

C’è una domanda interessante sulla lettura di una struttura dati C / C ++ in C # da un array di byte , ma non riesco a far funzionare il codice per la mia collezione di byte big-endian (byte di rete). (EDIT: Si noti che la mia vera struttura ha più di un solo campo.) […]