我试图把一个整数变成二进制:
543 = <<"543">>
我怎么能做到
integer_to_list(list_to_binary(K)).
wkftcu5l1#
如果您想将543转换为〈〈“543”〉〉,我认为您找不到比以下更快的方法:
1> list_to_binary(integer_to_list(543)). <<"543">>
因为在这种情况下,两个函数都是用C实现的。如果你想把整数转换成尽可能小的二进制表示,你可以使用新的binary模块中的binary:encode_unsigned函数,如下所示:
1> binary:encode_unsigned(543). <<2,31>> 2> binary:encode_unsigned(543, little). <<31,2>>
6mzjoqzu2#
对于当前的读者,这是在R16中实现的,请访问http://erlang.org/doc/man/erlang.html#integer_to_binary-1
ih99xse13#
您可以尝试以下操作
6> A = 12345. 12345 7> B = <<A:32>>. <<0,0,48,57>>
但这要求您事先知道最大位数。
3条答案
按热度按时间wkftcu5l1#
如果您想将543转换为〈〈“543”〉〉,我认为您找不到比以下更快的方法:
因为在这种情况下,两个函数都是用C实现的。
如果你想把整数转换成尽可能小的二进制表示,你可以使用新的binary模块中的binary:encode_unsigned函数,如下所示:
6mzjoqzu2#
对于当前的读者,这是在R16中实现的,请访问http://erlang.org/doc/man/erlang.html#integer_to_binary-1
ih99xse13#
您可以尝试以下操作
但这要求您事先知道最大位数。