Целое число в двоичном Erlang Я пытаюсь сделать целое число в двоичном формате: 543 = <<"543">> Как это сделать без integer_to_list(list_to_binary(K)). Ответ 1 Если вы хотите преобразовать 543 в < 543" → , я не думаю, что вы можете найти что-то быстрее, чем: 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>> Ответ 2 Для современных читателей это теперь реализовано в R16, см. http://erlang.org/doc/man/erlang.html#integer_to_binary-1 Ответ 3 Вы можете попробовать что-то вроде 6> A = 12345. 12345 7> B = <<A:32>>. <<0,0,48,57>> Но это требует, чтобы вы знали максимальное количество бит заранее.
Ответ 1 Если вы хотите преобразовать 543 в < 543" → , я не думаю, что вы можете найти что-то быстрее, чем: 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>>
Ответ 2 Для современных читателей это теперь реализовано в R16, см. http://erlang.org/doc/man/erlang.html#integer_to_binary-1
Ответ 3 Вы можете попробовать что-то вроде 6> A = 12345. 12345 7> B = <<A:32>>. <<0,0,48,57>> Но это требует, чтобы вы знали максимальное количество бит заранее.