欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python二進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)學(xué)算法詳解

 更新時(shí)間:2023年01月06日 11:08:02   作者:__如果  
這篇文章主要介紹了Python二進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)學(xué)算法,同時(shí)在這里也給大家分享一個(gè)好用的內(nèi)置函數(shù)map(),需要的朋友可以參考下

在python中可以通過(guò)內(nèi)置函數(shù)int()函數(shù)進(jìn)行二進(jìn)制轉(zhuǎn)十進(jìn)制;int()函數(shù)可以將一個(gè)指定進(jìn)制的數(shù)字型字符串或者十進(jìn)制數(shù)字轉(zhuǎn)化為整型。

Python

Python是一種廣泛使用的解釋型、高級(jí)和通用的編程語(yǔ)言。Python在設(shè)計(jì)上堅(jiān)持了清晰劃一的風(fēng)格,這使得Python成為一門易讀、易維護(hù),并且被大量用戶所歡迎的、用途廣泛的語(yǔ)言。

Python二進(jìn)制

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

Python十進(jìn)制

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

Python二進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)學(xué)算法

網(wǎng)上大多是直接用函數(shù)轉(zhuǎn)化二進(jìn)制的,下面的寫法是自己的數(shù)學(xué)算法

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

數(shù)學(xué)能力對(duì)于編程來(lái)說(shuō)也是至關(guān)重要的,希望大家可以在閑暇之余多做一些算法題,鍛煉自己!

同時(shí)在這里也給大家分享一個(gè)好用的內(nèi)置函數(shù)map( )

Python的手冊(cè)中是這樣介紹的:

map( function , iterable , / , *iterables )

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

返回一個(gè)迭代器,該迭代器將函數(shù)應(yīng)用于可迭代的每個(gè)項(xiàng)

*迭代器:迭代器的作用是用來(lái)訪問(wèn)容器(用來(lái)保存元素的數(shù)據(jù)結(jié)構(gòu))中的元素,所以使用迭代器,我們就可以訪問(wèn)容器中里面的元素。沒(méi)錯(cuò)!這和訪問(wèn)數(shù)組這個(gè)序列的指針一樣,因?yàn)閿?shù)組范圍內(nèi)的指針就是迭代器的一種

例:map( int , string[ i ])

將string的元素一個(gè)個(gè)轉(zhuǎn)化為int類型

到此這篇關(guān)于Python二進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)學(xué)算法的文章就介紹到這了,更多相關(guān)Python二進(jìn)制轉(zhuǎn)化為十進(jìn)制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論