鱼C论坛

 找回密码
 立即注册
查看: 439|回复: 5

015讲的动动手有点不明白求各位大神帮忙

[复制链接]
最佳答案
0 
发表于 2017-9-22 19:58:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
015讲的动动手我按照答案是这么写的:
  1. while 1:
  2.     a = input('请输入一个整数(输入Q结束程序):')
  3.     if a == 'Q':
  4.         break
  5.     else:
  6.         num = int(a)
  7.         print('十进制 -> 十六进制: %d -> 0x%x' %(num,num))
  8.         print('十进制 -> 八进制: %d -> 0o%o' %(num,num))
  9.         print('十进制 -> 二进制: %d -> ' %(num),bin(num))
复制代码

输出是下面这样:
请输入一个整数(输入Q结束程序):789
十进制 -> 十六进制: 789 -> 0x315
十进制 -> 八进制: 789 -> 0o1425
十进制 -> 二进制: 789 ->  0b1100010101

转换成其他进制之后反而会留下0x、0o和0b

但是我如果不加上这个:
  1. while 1:
  2.     a = input('请输入一个整数(输入Q结束程序):')
  3.     if a == 'Q':
  4.         break
  5.     else:
  6.         num = int(a)
  7.         print('十进制 -> 十六进制: %d -> %x' %(num,num))
  8.         print('十进制 -> 八进制: %d -> %o' %(num,num))
  9.         print('十进制 -> 二进制: %d -> ' %(num),bin(num))
复制代码

答案是这样:
请输入一个整数(输入Q结束程序):888
十进制 -> 十六进制: 888 -> 378
十进制 -> 八进制: 888 -> 1570
十进制 -> 二进制: 888 ->  0b1101111000

除了二进制还有0b以外结果中就没有多余的东西了,所以我还是不明白0x和0o到底是干什么用的,根本就是没有更好啊,还有怎么去掉二进制结果中的0b啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
946 
发表于 2017-9-22 20:03:01 | 显示全部楼层
比如一个数字777,无法判断是10进制,还是16进制或8进制,因此在16进制前加上0x,在8进制前加上0o,这便于程序员的阅读和区分。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2017-9-22 20:27:30 | 显示全部楼层
冬雪雪冬 发表于 2017-9-22 20:03
比如一个数字777,无法判断是10进制,还是16进制或8进制,因此在16进制前加上0x,在8进制前加上0o,这便于 ...

也就是说在前面没有文字说明的时候,以这种方法来区分?如果在知道的情况下就可以不写了是吧。还有二进制的0b怎么去掉啊,因为这是个BIF
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
946 
发表于 2017-9-22 20:34:02 From FishC Mobile | 显示全部楼层
用字符串切片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2017-9-22 21:11:29 | 显示全部楼层
请问,如果想去掉二进制的0b怎么做啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2017-11-14 22:09:43 | 显示全部楼层
用字符串切片 马住这个答案0v0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2018-9-26 23:47

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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