[erlang-questions] Bit syntax
Bob Cowdery
bob@REDACTED
Wed Mar 9 15:50:46 CET 2011
Thanks. The syntax did look a bit odd for a repeating group. I pulled it
off the web somewhere.
So if I say:
7> <<A:24, B:48, C:408>> = <<16#effe02:24,16#00:48,(8*51):408>>
.
<<239,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,...>>
8> A.
15728130
9> B.
0
10> C.
408
What do these bound values mean. C is supposed to be 51 zero bytes (408
bits). Why is C bound to the number of bits.
Bob
On 09/03/2011 14:29, Vlad Dumitrescu wrote:
> Hi!
>
> On Wed, Mar 9, 2011 at 15:21, Bob Cowdery <bob@REDACTED
> <mailto:bob@REDACTED>> wrote:
>
> Hi
>
> I'm clearly not understanding the bit syntax properly. Could someone
> explain to me what I am doing wrong here. Why does the first not match
> when its the right shape but the second does when its the wrong shape.
> The bound values don't make much sense to me either.
>
> 1> <<A:24, B:48, C:408>> = <<16#effe02:24,16#00:48,16#00,(8*51):408>>.
> ** exception error: no match of right hand side value
>
>
> There is an "extra" 16#00 on the right side that is not matched on the
> left.
>
>
> 2> <<A:32, B:48, C:408>> = <<16#effe02:24,16#00:48,16#00,(8*51):408>>.
>
>
> The larger size for A "swallows" the extra value, but shifts the
> values a byte to the right.
>
> regards,
> Vlad
>
More information about the erlang-questions
mailing list