[erlang-questions] surprising bit syntax

Matthew O'Gorman <>
Tue Jul 3 15:23:39 CEST 2007


8 bits you pump in 999 which would be 03 E7, so what happens e7 rolls
over 3 times so e7 in decimal is nnananna = 231.  what you would need
to do is make <<I:8/integer>> is <<I:16/integer>>

hope this helps

mog

On 7/3/07, Dmitrii 'Mamut' Dimandt <> wrote:
>
>  Ulf Wiger (TN/EAB) wrote:
>
>
>
> Is it just me, or is this behaviour surprising?
>
> 4> <<255>>.
>  <<"ÿ">>
>  5> <<256>>.
>  <<0>>
>  6> <<257>>.
>  <<1>>
>  7> <<257:8>>.
>  <<1>>
>  8> <<I:8/integer>> = <<999>>.
>  <<"ç">>
>  9> I.
>  231
>
> I scanned the reference manual to find a note stating that this
>  is exactly what one should expect, but I couldn't find it.
>
> Personally, I would have expected something along the lines
>  of badarg, which is what list_to_binary([999]) gives. My results are
> consistent with yours:
>
>  1> <<255>>.
>  <<"\377">>
>  2> <<256>>.
>  <<0>>
>  3> <<257>>.
>  <<1>>
>  4> <<257:8>>.
>  <<1>>
>  5> <<I:8/integer>> = <<999>>.
>  <<"\347">>
>  6> I.
>  231
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list