日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python二進制轉化為十進制數學算法詳解_python

作者:__如果 ? 更新時間: 2023-02-15 編程語言

在python中可以通過內置函數int()函數進行二進制轉十進制;int()函數可以將一個指定進制的數字型字符串或者十進制數字轉化為整型。

Python

Python是一種廣泛使用的解釋型、高級和通用的編程語言。Python在設計上堅持了清晰劃一的風格,這使得Python成為一門易讀、易維護,并且被大量用戶所歡迎的、用途廣泛的語言。

Python二進制

解題思路很典型,利用二進制數做加法的特性,遞歸或迭代計算不考慮進位的結果和有無進位,將加法的結果分為不考慮進位的結果和進位進位,分別用位運算處理。不考慮進位的結果用異或計算a+b(無進位) = a^b驗證:0+0=0=0^0, 1+0=0=1^0, 1+1=0=1^1是否進位用與運算表示。因為是進位,因此結果還需要向左移一位a+b(進位)= (a&b) << 1驗證:0+0=0=0&0, 1+0=0=1&0, 1+1=0=1&1綜上,兩個數的加法可以表示為 a+b = a^b + (a&b) << 1。

Python十進制

由于十進制數是一個加權數,因此從十進制到二進制(從10到2)的轉換也將產生一個加權的二進制數,其中最右邊的位是最低有效位LSB,而最左的位 是最高有效位或最高有效位,我們可以將其表示為MSB。

Python二進制轉化為十進制數學算法

網上大多是直接用函數轉化二進制的,下面的寫法是自己的數學算法

# binary意為二進制
binary = input("請輸入您的二進制組\n")
binary_ = list(binary)
bin_ = len(binary_)
 
power_ = 0
 
for i in range(bin_):  # 計算第一個二進制
    if binary_[i] == '1':
        length = bin_ - 1 - i  # 算背后還有幾位
        power = 1
        while length > 0:
            length -= 1
            power = power * 2
        power_ = power + power_
 
print(power_)

數學能力對于編程來說也是至關重要的,希望大家可以在閑暇之余多做一些算法題,鍛煉自己!

同時在這里也給大家分享一個好用的內置函數map( )

Python的手冊中是這樣介紹的:

map( function , iterable , / , *iterables )

Return an iterator that applies function to every item of iterable, yielding the results.

返回一個迭代器,該迭代器將函數應用于可迭代的每個項

*迭代器:迭代器的作用是用來訪問容器(用來保存元素的數據結構)中的元素,所以使用迭代器,我們就可以訪問容器中里面的元素。沒錯!這和訪問數組這個序列的指針一樣,因為數組范圍內的指針就是迭代器的一種

例:map( int , string[ i ])

將string的元素一個個轉化為int類型

原文鏈接:https://blog.csdn.net/m0_73202283/article/details/128201632

欄目分類
最近更新