[erlang-questions] Bit Packing question

Wes James <>
Sat Dec 13 05:54:06 CET 2014


According to:

http://www.erlang.org/doc/programming_examples/bit_syntax.html

after the / you need integer, float or binary, i.e., <<BNum:4/binary>>

-wes


On Fri Dec 12 2014 at 9:22:59 PM Santosh Kumar <> wrote:

> Hrm, I'm not sure I understand. Here's some code:
>
> Num = 128.
>
> 128
>
>
> So, Num is a number. I then do:
>
> BNum = <<Num>>.
>
>
> Now, BNum is a binary. I check it too:
>
> is_binary(BNum).
>
> true
>
>
> I now, try doing:
>
> Packet = <<BNum:4/bytes>>.
>
> ** exception error: bad argument
>
>
> Here, I am trying to create another binary Packet, that is 4 bytes long as
> and has as it's contents BNum. If what you say is true and "/bytes" is
> used to pack Binary data this would work. Unless I am missing something.
>
>
> Thanks for your response.
>
>
> Santosh
>
> On Fri, Dec 12, 2014 at 10:39 PM, Bob Ippolito <> wrote:
>>
>> 'bytes' is for packing binaries, not numbers. The working example you
>> have is the correct way to do it.
>>
>>
>> On Friday, December 12, 2014, Santosh Kumar <> wrote:
>>
>>> Hi group,
>>> I was trying to pack a number into 4 bytes and was having a hard time
>>> doing it. Here is what I was trying:
>>>
>>> 102> Num = 128.
>>>
>>> 128
>>>
>>> 103> <<Num:4/bytes>>.
>>>
>>> ** exception error: bad argument
>>>
>>>
>>> While this works:
>>>
>>>
>>> 104> <<Num:32>>.
>>>
>>> <<0,0,0,128>>
>>>
>>>
>>> Here the packing into 32 bits works but the packing into 4 bytes fails.
>>> Not sure why.
>>>
>>>
>>> Any help, much appreciated.
>>>
>>>
>>> Thanks
>>>
>>> Santosh
>>>
>>  _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20141213/625d83f7/attachment.html>


More information about the erlang-questions mailing list