我试图将整数变成二进制:
543 = <<"543">>
如果没有
,我怎么能这样做integer_to_list(list_to_binary(K)).
答案 0 :(得分:28)
如果您想将543转换为&lt;&lt;“543”&gt;&gt;我认为你找不到比以下更快的东西:
1> list_to_binary(integer_to_list(543)).
<<"543">>
因为在这种情况下,两个函数都是用C实现的。
如果要将整数转换为可能的最小二进制表示,可以使用新binary:encode_unsigned模块中的binary函数,如下所示:
1> binary:encode_unsigned(543).
<<2,31>>
2> binary:encode_unsigned(543, little).
<<31,2>>
答案 1 :(得分:14)
对于目前的读者,现在在R16中实现,请参阅http://erlang.org/doc/man/erlang.html#integer_to_binary-1
答案 2 :(得分:4)
您可以尝试类似
的内容6> A = 12345.
12345
7> B = <<A:32>>.
<<0,0,48,57>>
但这要求您事先知道最大位数。