本文主要是介绍《python语言程序设计》第8章第10题将十进制转为二进制,并显示对应十六进制,如何求十进制转二进制多的少的那个数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
十进制变二进制现在差一位数不是差头部就是差尾部,现在这个代码是差尾部
另外这个函数体现的从倒着的数
def decimal_to_binary(value):save_result = valuea = ''text_save = ''while value // 2 != 0:value //= 2save_result //= 2a = save_result % 2text_save += str(a)# return text_saveprint(text_save, save_result)decimal_to_binary(789)
接下来是差头部(以正常二进制的顺序为 主)
def decimal_to_binary(value):save_result = valuea = ''text_save = ''while value // 2 != 0:value //= 2a = save_result % 2save_result //= 2text_save += str(a)# return text_saveprint(text_save, save_result)decimal_to_binary(789)
我将这个函数拆出来放在外面观察
value_out= 789
save_out = value_out
a_out = ''
text_save_out = ''
while value_out // 2 != 0:value_out //= 2a_out = save_out % 2print("save_out % 2",a_out)save_out //= 2print("save_out //= 2",save_out)text_save_out += str(a_out)
大家很明显的看到这里缺少 1整除2这个怎么办
接下来更有意思的.我做的让从十进制到处的数字,按二进制正常顺序排列 的函数
竟然打印对了头部,但是差尾部.
def decimal_arrange(text_arrange):len_text = len(text_arrange)for i in range(len_text):# print(i)print(text_arrange[-i], end='')
上面的那一行是十进制转。二进制,下面的是二进制正常显示,现在 就是解决这个头尾的数
我找到了.我找到了
原来我将
while value //2 !=0:
改成
while value /2 !=0:
这是我第一次发现它 的 除法 简简单单的除法
成功了.但是说一下.
它也要修改一下.不然打印的位置不对.
def decimal_arrange(text_arrange):len_text = len(text_arrange)dec_text = ""for i in range(1, len_text + 1):# print(i)dec_text += text_arrange[-i]print("二进制", dec_text)
这篇关于《python语言程序设计》第8章第10题将十进制转为二进制,并显示对应十六进制,如何求十进制转二进制多的少的那个数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!