Python二進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)學(xué)算法詳解
在python中可以通過內(nèi)置函數(shù)int()函數(shù)進(jìn)行二進(jìn)制轉(zhuǎn)十進(jìn)制;int()函數(shù)可以將一個指定進(jìn)制的數(shù)字型字符串或者十進(jìn)制數(shù)字轉(zhuǎn)化為整型。
Python
Python是一種廣泛使用的解釋型、高級和通用的編程語言。Python在設(shè)計上堅持了清晰劃一的風(fēng)格,這使得Python成為一門易讀、易維護(hù),并且被大量用戶所歡迎的、用途廣泛的語言。
Python二進(jìn)制
解題思路很典型,利用二進(jìn)制數(shù)做加法的特性,遞歸或迭代計算不考慮進(jìn)位的結(jié)果和有無進(jìn)位,將加法的結(jié)果分為不考慮進(jìn)位的結(jié)果和進(jìn)位進(jìn)位,分別用位運算處理。不考慮進(jìn)位的結(jié)果用異或計算a+b(無進(jìn)位) = a^b驗證:0+0=0=0^0, 1+0=0=1^0, 1+1=0=1^1是否進(jìn)位用與運算表示。因為是進(jìn)位,因此結(jié)果還需要向左移一位a+b(進(jìn)位)= (a&b) << 1驗證:0+0=0=0&0, 1+0=0=1&0, 1+1=0=1&1綜上,兩個數(shù)的加法可以表示為 a+b = a^b + (a&b) << 1。
Python十進(jìn)制
由于十進(jìn)制數(shù)是一個加權(quán)數(shù),因此從十進(jìn)制到二進(jìn)制(從10到2)的轉(zhuǎn)換也將產(chǎn)生一個加權(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("請輸入您的二進(jìn)制組\n") binary_ = list(binary) bin_ = len(binary_) power_ = 0 for i in range(bin_): # 計算第一個二進(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é)能力對于編程來說也是至關(guān)重要的,希望大家可以在閑暇之余多做一些算法題,鍛煉自己!
同時在這里也給大家分享一個好用的內(nèi)置函數(shù)map( )
在Python的手冊中是這樣介紹的:
map( function , iterable , / , *iterables )
Return an iterator that applies function to every item of iterable, yielding the results.
返回一個迭代器,該迭代器將函數(shù)應(yīng)用于可迭代的每個項
*迭代器:迭代器的作用是用來訪問容器(用來保存元素的數(shù)據(jù)結(jié)構(gòu))中的元素,所以使用迭代器,我們就可以訪問容器中里面的元素。沒錯!這和訪問數(shù)組這個序列的指針一樣,因為數(shù)組范圍內(nèi)的指針就是迭代器的一種
例:map( int , string[ i ])
將string的元素一個個轉(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決安裝pycharm后不能執(zhí)行python腳本的問題
今天小編就為大家分享一篇解決安裝pycharm后不能執(zhí)行python腳本的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01解決Django提交表單報錯:CSRF token missing or incorrect的問題
這篇文章主要介紹了解決Django提交表單報錯:CSRF token missing or incorrect的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Pytorch模型遷移和遷移學(xué)習(xí),導(dǎo)入部分模型參數(shù)的操作
這篇文章主要介紹了Pytorch模型遷移和遷移學(xué)習(xí),導(dǎo)入部分模型參數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Python中用memcached來減少數(shù)據(jù)庫查詢次數(shù)的教程
這篇文章主要介紹了Python中用memcached來減少數(shù)據(jù)庫查詢次數(shù)的教程,memcached是一種分布式的內(nèi)存緩存工具,使用后可以減少對硬盤的I/O次數(shù),需要的朋友可以參考下2015-04-04詳談python read readline readlines的區(qū)別
下面小編就為大家?guī)硪黄斦刾ython read readline readlines的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09