python十进制转化为二进制
生活随笔
收集整理的這篇文章主要介紹了
python十进制转化为二进制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python十進制轉化為二進制
實例:給定一個非負十進制數n,如何將其轉換成為一個二進制數?
輸入:123
輸出:1111011
輸入:1363
輸出:10101010011
輸入:12
輸出:1100
首先我們看一下二進制,由十進制來類比。
考慮一個十進制數,8327,那么
數字: 8 3 2 7
權值:1000 100 10 1
所以, 值為 8*1000+3*100+2*10+7*1。
同理,考察二進制數,10110110,那么
數字:1 0 1 1 0 1 1 0
權值:128 64 32 16 8 4 2 1
所以,值為128+32+16+4+2=182
通常,我們在面對問題的時候,需要分析問題,而分析問題,通常會從最簡單的情況開始。所以,看一下最簡單的數字的十進制和對應的二進制:
0 01 12 103 114 1005 1016 1107 1118 10009 100110 101011 101112 110013 110114 1110從上述例子中,你發現了什么規律了嗎?
其中可以發現的規律有:
1、若n是偶數,則二進制數末尾數字是“0”,若n是奇數,則二進制數末尾數字是“1”。
2、如果n的二進制數可以表示為bk … b2 b1 b0,那么如果n是偶數,那么n/2的二進制數可以表示為bk … b2 b1,如果n是奇數,那么(n-1)/2的二進制數可以表示為bk … b2 b1。
# 二進制的轉換def Dec2Bin(dec):# 遞歸result = ''if dec:result = Dec2Bin(dec // 2)return result + str(dec % 2)else:return resultdef dec_to_bin(n):if n < 0:print("Please input a nonnegative integer next time. Bye!")else:original_N = nsuffix = ""while n > 0:suffix = str(n % 2) + suffixn = n // 2# The input n = 0 is dealt with as a special caseif suffix == "":suffix = "0"# print("The binary equivalent of", original_N, "is", suffix)return suffix總結
以上是生活随笔為你收集整理的python十进制转化为二进制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SecureCRT 命令行备注
- 下一篇: 什么是JCR