integer to binary
Matthias Lang
<>
Fri Oct 7 12:44:06 CEST 2005
chandru writes:
> I want to convert an integer to a binary without having to
> guess/figure-out how many bytes are required to fit that integer.
> There doesn't seem to be a way to do this with the bit syntax.
>
> 11> <<12345678901:40>>.
> <<2,223,220,28,53>>
>
> 12> <<12345678901:48>>.
> <<0,2,223,220,28,53>>
>
> In the example above, the integer will fit in 5 bytes but I can't
> think of a way to specify this without trial and error. Any
> suggestions?
If having the binary represent the integer in "the usual way" isn't a
requirement, then you can always do
1> term_to_binary(1234567890).
<<131,110,4,0,210,2,150,73>>
and if you don't mind being tripped up by the odd rounding problem,
there's always
Bits = math:log(My_integer) / math:log(2)
efficiency is probably not that great either.
Matthias
More information about the erlang-questions
mailing list