[erlang-questions] binary elements greater than 255
Peter Lund
erlang@REDACTED
Sat Apr 26 07:04:58 CEST 2008
Please observe that this is just how the shell works...
In any erlang program you make, you would use the list_to_binary/1 function.
Eshell V5.3 (abort with ^G)
1> <<0,1111111111>>.
<<0,199>>
2> list_to_binary([0,1111111111]).
=ERROR REPORT==== 26-Apr-2008::07:02:13 ===
Error in process <0.24.0> with exit value:
{badarg,[{erlang,list_to_binary,[[0,16#423A35C7]]},{erl_eval,do_apply1,5},{shell,eval_loop,2}]}
** exited: {badarg,[{erlang,list_to_binary,[[0,1111111111]]},
{erl_eval,do_apply1,5},
{shell,eval_loop,2}]} **
And here you get a proper crash
With correct indata you get good output.
3> list_to_binary([0,111,255]).
<<0,111,255>>
/Peter
Igor Ribeiro Sucupira skrev:
> I think this is the classic situation "If you do it wrong, the
> behaviour is undefined". :-)
> (On the case at hand, it looks it's just taking the least significant
> byte from the number)
>
> In fact, maybe it should raise a warning when compiling a module with
> this kind of code... (?)
>
> On Fri, Apr 25, 2008 at 10:01 PM, Zvi <exta7@REDACTED> wrote:
>
>> Hi Igor,
>>
>> I know that lately computer industry decided to switch from 6-bit to 8-bit
>> bytes :), which when unsigned can hold values in range 0..255. But this
>> wasn't my question. I asked, why Erlang compiler didn't return error, when
>> you give it input like <<256>>. I think it's a bug.
>>
>> Zvi
>>
>>
>> Igor Ribeiro Sucupira wrote:
>> >
>> > No.
>> > If you use integers in a binary, each must be in the range [0, 255]
>> > (1-byte).
>> >
>> > Igor.
>> >
>> > On Fri, Apr 25, 2008 at 7:44 PM, Zvi <exta7@REDACTED> wrote:
>> >>
>> >> Is this a bug?
>> >> Zvi
>> >> ------------------------------------------------------------
>> >> Erlang (BEAM) emulator version 5.6 [smp:2] [async-threads:0]
>> >>
>> >> Eshell V5.6 (abort with ^G)
>> >> 1>
>> >> 1> <<0,255>>.
>> >> <<0,255>>
>> >> 2> <<0,256>>.
>> >> <<0,0>>
>> >> 3> <<0,257>>.
>> >> <<0,1>>
>> >> 4> <<0,65536>>.
>> >> <<0,0>>
>> >> 5> <<0,1111111111>>.
>> >> <<0,199>>
>> >> 6>
>>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
>
More information about the erlang-questions
mailing list