发布于2020-01-01 11:47 阅读(1091) 评论(0) 点赞(28) 收藏(1)
最近在用Python写遗传算法时,发现需要将十进制的整数转换成二进制数,那么怎么来转换呢?当然如果你学过进制转换的有关计算方法,你可以手动编写一些函数来实现,不过总体来说还是比较麻烦的,这里介绍Python内置的两个函数bin()和int(),利用这两个函数可以轻轻松松完成转换。
代码如下:
num = 8 numb = bin(num) print(numb)
这段代码的输出结果如下:
0b1000
0b是什么呢?有过一定计算机专业基础的人一定知道,其实他只是表示二进制数的前缀,也就是说加个0b在前面表示这个数不是一千,而是二进制的一零零零.
代码如下:
numb = 0b1101
numb2 = '0b1101' num = int(numb)
num1 = int(numb2 , 2) print(num)
print(num1)
这段代码输出的结果如下:
13
13
也就是说我们通过一个简单的int函数将0b1101转换成了十进制的13。这里要强调的是,我们在写二进制数的时候,一定要加上0b这个前缀,否则它会把你转换成的数当成十进制数,也就是输出结果还是1101.还有一点要注意的就是,当你给出的二进制数是字符串类型的时候,在你使用int函数时要像上面代码写的那样后面加上个参数2,否则会报错。可以简单地理解成告诉int函数你输入的这个字符串不是个字符串那么简单,而是代表着二进制。
还有一点需要大家注意的是,通过bin函数转换成的二进制数的类型是一个字符类型,可以通过下标遍历每个字符,但不能当做整型的数字来处理,所以大家在实际应用中,可能还需要将后几位取出来进行int类型的强制转换。而int转换成的十进制数的类型就是int型的,因为int函数本身也可以当做一个强制类型转换的函数。
作者:38373
链接:https://www.pythonheidong.com/blog/article/196853/d4c4c030d5e826781abd/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!