首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl 6中的八进制转换

Perl 6中的八进制转换
EN

Stack Overflow用户
提问于 2018-01-21 21:19:36
回答 1查看 327关注 0票数 10

如果我们有一个八进制数,例如0o157,Perl 6可以将它转换为十进制:

代码语言:javascript
复制
> 0o157
111

我们不允许删除这个o的八进制表示形式:

代码语言:javascript
复制
> 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>

现在让我们从十进制调到八进制进行反向转换:

代码语言:javascript
复制
> printf "%#o\n", 111
0157

问题是:为什么在八进制表示法中,现在在o之后没有0

同时,如果我们转换为十六进制,x将出现:

代码语言:javascript
复制
> printf "%#x\n", 111
0x6f
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-21 21:33:42

问题是:为什么在八进制表示法中,现在在o之后没有0

(s)printf是一个非常普遍使用的函数,它直接移植到Perl 6,与其他语言的printf函数兼容,而不是与Perl 6的输入语法兼容。

Perl 5的printf的行为方式相同,因此它的行为很可能是直接复制的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48371827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档