Ruby:将整数转换为32位二进制数(或字符串)

Ale*_*aty 1 ruby binary integer

我想将一个数字转换1成一个32二进制数:

00000000000000000000000000000001  
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能确保完整的字符串长度32,无论数字有多小?

我有一个sprintf对工作8位二进制,但不知道如何使它32.

Ale*_*kin 5

使用String#rjust

\n\n
1.to_s(2).rjust(32, \'0\')\n#\xe2\x87\x92 "00000000000000000000000000000001"\n
Run Code Online (Sandbox Code Playgroud)\n


Pav*_*yuk 5

String#%(通过sprintf):

'%032b' % 7
=> "00000000000000000000000000000111"
Run Code Online (Sandbox Code Playgroud)