为了账号安全,请及时绑定邮箱和手机立即绑定

请问下为什么python3中print(int('17',16))得到结果是23?

试了一下从10开始就会加多6
也就是:
print(int('9',16))
>>>9
print(int('10',16))
>>>16
print(int('11',16))
>>>17
……
print(int('17',16))
>>>23

正在回答

1 回答

9和字符串'9'是不一样的,int('17')值是17,其实是强制把字符串转为10进制的数字,int('17',16)就是强制把‘17’变为16进制的数字就是1*16+7=23,‘10’其实就是1*16+0。因为这都是32以下 的数字所以你觉得是加6,如果是32就不止加6了还要再加6即12,即print(int('21',16))的值是33,因为没超过一个16你就比十进制多了个6啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758627    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

请问下为什么python3中print(int('17',16))得到结果是23?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信