用尺子量海 发表于 2020-8-1 17:55:13

python课后作业017疑问求助

题目为:将十进制转化为二进制:
------------------------------------------

十进制转化为二进制的求法:

5 ÷ 2 = 2 余 1
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1

所以5转化为二进制的结果为101
---------------------------------------------

我的代码
def transition(num):
    print("{}转化为二进制为:{}".format(num,bin(num)))
    while num != 0:
      num_two = num % 2
      print(num_two, end = "")
      num = num // 2
transition(5)

输出结果:
5转化为二进制为:0b101
101
------------------------------------------------
疑问:问什么函数bin输出的二进制结果多了一个0b,这个是属于汇编语言吗?(没学过汇编{:10_269:})

zltzlt 发表于 2020-8-1 17:56:01

和汇编语言一点关系都没有,用 bin() 十进制转二进制带有前缀 0b,0b 前缀表示这是一个二进制数

1q23w31 发表于 2020-8-1 17:56:21

0b表示二进制数字

jackz007 发表于 2020-8-1 18:02:46

加一行代码,你也可以带 '0b' 前导:
def transition(num):
    print("{}转化为二进制为:{}".format(num,bin(num)))
    print("{}转化为二进制为:{}".format(num , '0b') , end = "")
    while num != 0:
      num_two = num % 2
      print(num_two , end = "")
      num = num // 2
transition(5)

用尺子量海 发表于 2020-8-1 18:10:34

可以为啥要加一个ob呢?

用尺子量海 发表于 2020-8-1 18:11:16

懂了   python小白
页: [1]
查看完整版本: python课后作业017疑问求助