鱼C论坛

 找回密码
 立即注册
查看: 2728|回复: 3

作业015一个简单的进制转换的问题

[复制链接]
发表于 2016-12-1 23:25:00 | 显示全部楼层 |阅读模式
4鱼币
在动动手那的小甲鱼老师给出的答案 十进制转换成十六进制或者八进制
%d -> 0x%x' % (num, num)) #这一行中为什么要在%x之前加上0x
%d -> 0o%o' % (num, num))#同理不理解0o
%d -> ' % num, bin(num))#而这一行中 bin(num)赋值给谁?


最佳答案

查看完整内容

0x,0o是达到在输出时指明是几进制。比如输入56 ,十六进制就会显示 0x38 (十六进制:0x或0X,八进制:0o) bin(num)给了->右边 也就是 print('十进制 -> 二进制 :' + '%d'%(num)+ '->' + bin(num))
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-12-1 23:25:01 | 显示全部楼层
0x,0o是达到在输出时指明是几进制。比如输入56 ,十六进制就会显示 0x38  (十六进制:0x或0X,八进制:0o)
bin(num)给了->右边
也就是 print('十进制 -> 二进制 :' + '%d'%(num)+  '->' +  bin(num))
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-12-1 23:47:04 | 显示全部楼层
0x是16进制的字头标记,0o是8进制的字头标记。
bin(num)并没有对应在格式化字符串中,而是作为单独的参数,即print有2个参数:1是%d -> ' % num,2是bin(num)
当然也可以写成一个格式化字符串:%d -> %s' %( num, bin(num))
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-6 11:25:07 | 显示全部楼层
冬雪雪冬 发表于 2016-12-1 23:47
0x是16进制的字头标记,0o是8进制的字头标记。
bin(num)并没有对应在格式化字符串中,而是作为单独的参数 ...

8进制和16进制好像也可以用'%#o'和‘%#x’是吧?
还有为什么 '十进制 -> 十六进制 : %d -> 0x%x' % (num, num) 语句中没有位置参数和关键字参数,怎么不会报错?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-24 07:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表