我是elixir的新手,我很兴奋.我在IEX终端上玩过二进制游戏.
iex(34)> world = <<119,111,114,108,100>>
"world"
iex(35)> <<x::size(40)>> = world
"world"
iex(36)> x
512970878052
Run Code Online (Sandbox Code Playgroud)
我真的不知道512970878052代表什么号码,但我真的想把它转换回"世界"这个词.我怎样才能做到这一点?
谢谢 :)
您可以使用完全相同的表达式转换回来!
iex(1)> world = <<119,111,114,108,100>>
"world"
iex(2)> <<x::size(40)>> = world
"world"
iex(3)> x
512970878052
iex(4)> <<x::size(40)>>
"world"
Run Code Online (Sandbox Code Playgroud)
(你也可以在两种情况下<<x::40>>而不是写<<x::size(40)>>.)
我真的不知道512970878052代表什么号码
[119, 111, 114, 108, 100]当解释为无符号大端整数时,这是由字节表示的整数,即
iex(5)> use Bitwise
Bitwise
iex(6)> 119 <<< 32 ||| 111 <<< 24 ||| 114 <<< 16 ||| 108 <<< 8 ||| 100
512970878052
Run Code Online (Sandbox Code Playgroud)