首页 新闻 会员 周边

运行结果为什么是17?

0
[待解决问题]
num="0011"
v=int(num,base=16)
print(v)
海天容涵的主页 海天容涵 | 菜鸟二级 | 园豆:202
提问于:2018-08-19 11:04
< >
分享
所有回答(4)
0

int(x, [base]),将一个数字或base进制的字符串转换成整数,base默认=10

随风行云 | 园豆:936 (小虾三级) | 2018-08-19 15:43

谢谢

支持(0) 反对(0) 海天容涵 | 园豆:202 (菜鸟二级) | 2018-08-29 12:01
0

0011  = 1*16^0 + 1*16^1 +0*16^2+0*16^3

_Roy | 园豆:489 (菜鸟二级) | 2018-08-20 14:57

对对,谢谢

支持(0) 反对(0) 海天容涵 | 园豆:202 (菜鸟二级) | 2018-08-29 12:01
0

16+1=17

l_along | 园豆:179 (初学一级) | 2018-08-20 18:13
0

3楼正解。

对于进制转换int(num,base=n),方法都是一样的(Σ(Xi*n^(i-1));Xi是num从右至左的第i位数)

比如:

R1 = int("1011",base=2) >>> R1 = 1*2^(1-1)+1*2^(2-1)+0*2^(3-1)+1*2^(4-1)=11

R2 = int("123",base=8) >>> R2 = 3*8^(1-1)+2*8^(2-1)+1*8^(3-1)=83

说明得够清晰了吧。

淡水鱼徜徉在大海 | 园豆:180 (初学一级) | 2018-08-21 10:16

谢谢

支持(0) 反对(0) 海天容涵 | 园豆:202 (菜鸟二级) | 2018-08-29 12:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册