在Erlang中,我可以很容易地将整数转换为二进制:
integer_to_binary(11, 10).返回的二进制文件中的位在本例中包含以下比特:
0011000100110001我想写一个函数来生成一个二进制,包含传入的数字的二进制表示法。也就是说,数字11应该是这样的:
1011在Erlang有什么简单的方法吗?
发布于 2016-11-06 19:27:26
若要将任意大小的无符号整数转换为由整数中的字节组成的二进制,可以使用binary:encode_unsigned/1或binary:encode_unsigned/2。
1> binary:encode_unsigned(11).
<<"\v">>
2> binary:encode_unsigned(11) == <<0:4, 1:1, 0:1, 1:1, 1:1>>.
truebinary:encode_unsigned/1将在大端表示中存储字节。要将字节存储在小endian中,可以使用binary:encode_unsigned/2
1> binary:encode_unsigned(123456789, little).
<<21,205,91,7>>
2> binary:encode_unsigned(123456789, big).
<<7,91,205,21>>https://stackoverflow.com/questions/40453402
复制相似问题