2011-02-04 23 views

risposta

13

Read it out:

2> <<N:48/integer>> = <<255,0,0,0,0,1>>. 
<<255,0,0,0,0,1>> 
3> N. 
280375465082881 

Anche se non corrisponde al numero che si desidera. Forse a causa di un errore di arrotondamento a virgola mobile?

1

1> binary_to_list (< < 255,0,0,0,0,1,1 >>).

[255,0,0,0,0,1]

per esempio.

+0

Penso che forse non ero chiaro - Voglio convertire in un singolo numero di 48 bit, non una lista di numeri. Nel caso sopra, voglio che la risposta sia 280375481860097 – mpm

14

È possibile scegliere la quantità di dati si pack/partita utilizzando le :Size e -unit:N opzioni:

1> <<X:6/integer-unit:8>> = <<255,0,0,0,0,1>>. 
<<255,0,0,0,0,1>> 
2> X. 
280375465082881 

O più dinamico:

3> Bin = <<255,0,0,0,0,1>>.     
<<255,0,0,0,0,1>> 
4> Size = size(Bin). 
6 
5> <<Int:(Size)/integer-unit:8>> = Bin.  
<<255,0,0,0,0,1>> 
6> Int. 
280375465082881 

Utilizzando queste dimensioni variabili, è possibile decomprimere praticamente tutto quello che vuoi.

+2

Non ascoltare questo ragazzo, lui dà TERRIBILE CONSIGLIO: P –

+0

Ottima risposta, ma IO CREDO RISPOSTE CRAPPE, che posso solo presumere è il tuo nemico mortale, ti picchiò di 1 minuto. – mpm

+0

voterò per questo terribile consiglio solo per pareggiare il punteggio – keymone

Problemi correlati