Articles of endianness

Esiste una funzione “standard” di tipo htonl per interi a 64 bit in C ++?

Sto lavorando a un’implementazione del protocollo memcache che, in alcuni punti, utilizza valori interi a 64 bit. Questi valori devono essere memorizzati in “ordine byte di rete”. Vorrei che ci fosse qualche funzione di uint64_t htonll(uint64_t value) per fare il cambiamento, ma sfortunatamente, se esiste, non riuscivo a trovarlo. Quindi ho 1 o 2 domande: […]

Problema di Endian di BinaryWriter

Sto usando la class BinaryWriter per scrivere un file binario sul disco. Quando invoco il metodo Write, passando un valore short senza segno, lo scrive in formato little-endian. Per esempio: bw.Write(0xA000); scrive il valore nel file binario come 0x00 0xA0. C’è un modo per far sì che BInaryWriter usi Big Endian? In caso contrario, è […]

Java’s Virtual Machine’s Endianness

Che endianness utilizza Java nella sua macchina virtuale? Ricordo di aver letto da qualche parte che dipende dalla macchina fisica su cui è in esecuzione, e poi in altri posti ho letto che è sempre, credo, big endian. Che è corretto?

Matrici e endianness tipizzati Javascript

Sto usando WebGL per eseguire il rendering di un file mesh codificato in binario. Il file binario è scritto in formato big-endian (posso verificarlo aprendo il file in un editor esadecimale o visualizzando il traffico di rete usando il violinista). Quando provo a leggere la risposta binaria utilizzando un object Float32Array o Int32Array, il file […]

Java legge gli interi in little endian o big endian?

Chiedo perché sto inviando un stream di byte da un processo C a Java. Sul lato C il numero intero a 32 bit ha LSB è il primo byte e MSB è il 4 ° byte. Quindi la mia domanda è: dal lato Java quando leggiamo il byte così come è stato inviato dal processo […]

Il cambio di bit dipende da endianness?

Supponiamo di avere il numero ‘numb’=1025 [00000000 00000000 00000100 00000001] rappresentato: Sulla macchina Little-Endian: 00000001 00000100 00000000 00000000 Sulla macchina Big-Endian: 00000000 00000000 00000100 00000001 Ora, se applico Maiusc a 10 bit (es: numb << = 10), dovrei avere: [A] Su Little-Endian Machine: Come ho notato in GDB, Little Endian fa il Left Shift in […]

Determinazione di endianness al momento della compilazione

Esiste un modo sicuro e portabile per determinare (in fase di compilazione) l’endianità della piattaforma su cui è stato compilato il mio programma? Sto scrivendo in C. [EDIT] Grazie per le risposte, ho deciso di restare con la soluzione runtime!

64 bit ntohl () in C ++?

Le pagine man di htonl() sembrano suggerire che puoi usarlo solo per valori fino a 32 bit. (In realtà, ntohl() è definito per unsigned long, che sulla mia piattaforma è a 32 bit. Suppongo che se unsigned long fosse 8 byte, funzionerebbe per 64 bit int). Il mio problema è che ho bisogno di convertire […]

Operatori bit a bit e “endianness”

L’ endianità conta affatto con le operazioni bit a bit? O logico o mutevole? Sto lavorando sui compiti relativi agli operatori bit a bit, e non riesco a farmi testa o croce, e penso che mi stancherà del tutto con l’endianess. Cioè, sto usando una piccola macchina endian (come la maggior parte sono), ma questo […]

Convertire un array di byte in intero in Java e viceversa

Voglio memorizzare alcuni dati in array di byte in Java. In pratica solo numeri che possono richiedere fino a 2 byte per numero. Mi piacerebbe sapere come posso convertire un intero in un array di byte a 2 byte e viceversa. Ho trovato molte soluzioni su google, ma la maggior parte di esse non spiega […]