如果我们有一个八进制数,例如0o157,Perl 6可以将它转换为十进制:
> 0o157
111我们不允许删除这个o的八进制表示形式:
> 0157
Potential difficulties:
Leading 0 has no meaning. If you meant to create an octal number, use '0o' prefix; like, '0o157'. If you meant to create a string, please add quotation marks.
------> 0157⏏<EOL>现在让我们从十进制调到八进制进行反向转换:
> printf "%#o\n", 111
0157问题是:为什么在八进制表示法中,现在在o之后没有0?
同时,如果我们转换为十六进制,x将出现:
> printf "%#x\n", 111
0x6f发布于 2018-01-21 21:33:42
问题是:为什么在八进制表示法中,现在在
o之后没有0?
(s)printf是一个非常普遍使用的函数,它直接移植到Perl 6,与其他语言的printf函数兼容,而不是与Perl 6的输入语法兼容。
Perl 5的printf的行为方式相同,因此它的行为很可能是直接复制的。
https://stackoverflow.com/questions/48371827
复制相似问题