最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python常見進(jìn)制轉(zhuǎn)換方法示例代碼

 更新時(shí)間:2023年05月05日 08:51:41   作者:Fighting_1997  
Python為我們提供了強(qiáng)大的內(nèi)置函數(shù)和格式化數(shù)字的方法去實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換的功能,下面這篇文章主要給大家介紹了關(guān)于python常見進(jìn)制轉(zhuǎn)換方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. 標(biāo)準(zhǔn)進(jìn)制轉(zhuǎn)換

其中比較常用到的是python的內(nèi)置函數(shù)進(jìn)行進(jìn)制的轉(zhuǎn)換,一般使用內(nèi)置函數(shù)進(jìn)行轉(zhuǎn)換的時(shí)候是先將控制臺(tái)輸入的字符串或者是自定義的字符串先轉(zhuǎn)換為10進(jìn)制然后將10進(jìn)制轉(zhuǎn)換為其他的進(jìn)制,常見的是二進(jìn)制、十進(jìn)制、八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換,其中遵循一個(gè)原則是:

其他進(jìn)制轉(zhuǎn)為十進(jìn)制使用int函數(shù),其他進(jìn)制轉(zhuǎn)為二進(jìn)制使用bin函數(shù),其他進(jìn)制轉(zhuǎn)為八進(jìn)制使用oct函數(shù),其他進(jìn)制轉(zhuǎn)為十六進(jìn)制轉(zhuǎn)為hex函數(shù),并且是借助于10進(jìn)制作為中間的橋梁進(jìn)行轉(zhuǎn)換,也就是使用到int()函數(shù).

并且轉(zhuǎn)換為對(duì)應(yīng)的權(quán)重之后對(duì)應(yīng)的字符串會(huì)有相應(yīng)的前綴,二進(jìn)制前綴為0b,八進(jìn)制前綴為0o,十六進(jìn)制前綴為0x

下面的表格反應(yīng)了常見進(jìn)制之間的轉(zhuǎn)換

2進(jìn)制8進(jìn)制10進(jìn)制16進(jìn)制
2進(jìn)制-bin(int(input(),8))bin(int(input(),10))bin(int(input(),16))
8進(jìn)制oct(int(input(), 2))-oct(int(input(),10))oct(int(input(),16))
10進(jìn)制int(input(),2))int(input(),8)-int(input(),16)
16進(jìn)制hex(int(input(), 2))hex(int(input(),8))hex(int(input(),10))-

使用內(nèi)置函數(shù)的時(shí)候反正是轉(zhuǎn)換為哪一個(gè)進(jìn)制就使用一個(gè)進(jìn)制對(duì)應(yīng)的函數(shù)即可,中間需要先轉(zhuǎn)換為十進(jìn)制(int()函數(shù)),其中進(jìn)制轉(zhuǎn)換涉及到的內(nèi)置函數(shù)有:2進(jìn)制:bin(),8進(jìn)制:oct(),10進(jìn)制:int(),16進(jìn)制:hex()

if __name__ == '__main__':
    # input接收到的是字符串, 使用int函數(shù)定義輸入的是什么進(jìn)制的字符串轉(zhuǎn)換為10進(jìn)制數(shù)字
    print(bin(int(input(), 16)))
    print(int(input(), 10))
    print(oct(int(input(), 10)))
    print(hex(int(input(), 10)))

format函數(shù)進(jìn)行轉(zhuǎn)換

在format中加上b,o,x將其他進(jìn)制的轉(zhuǎn)換為二進(jìn)制、八進(jìn)制或者是十六進(jìn)制

if __name__ == '__main__':
    print("{:b}".format(int(input(), 8)))
    print("{:o}".format(int(input(), 8)))
    print("{:x}".format(int(input(), 8)))

2. 任意進(jìn)制間的轉(zhuǎn)換

10進(jìn)制轉(zhuǎn)換為其他進(jìn)制代碼

class Solution:
    # 將十進(jìn)制數(shù)字轉(zhuǎn)換為任意的進(jìn)制(1-16)
    def decimalToAny(self, decimal: int, x: int):
        remainder = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]
        # 當(dāng)n大于0的時(shí)候執(zhí)行循環(huán)
        res = ""
        while decimal:
            res = remainder[decimal % x] + res
            decimal //= x
        return res
if __name__ == '__main__':
    decimal, x = map(int, input().split())
    print(Solution().decimalToAny(decimal, x))

其他進(jìn)制轉(zhuǎn)換為10

class Solution:
    # 快速冪: x ** n
    def quickPower(self, x: int, n: int):
        res = 1
        while n > 0:
            if n % 2 == 1:
                res *= x
            x *= x
            n //= 2
        return res
    def anyToDecimal(self, s: str, base: int):
        n = len(s)
        res = 0
        for i in range(n):
            # 數(shù)字, ord函數(shù)獲取字母的ascii值
            if "0" <= s[i] <= "9":
                res += (ord(s[i]) - ord("0")) * self.quickPower(base, n - i - 1)
            # 16進(jìn)制數(shù)字對(duì)應(yīng)的權(quán)重
            elif "a" <= s[i] <= "f":
                res += (ord(s[i]) - ord("a") + 10) * self.quickPower(base, n - i - 1)
            else:
                res += (ord(s[i]) - ord("A") + 10) * self.quickPower(base, n - i - 1)
        return res
if __name__ == '__main__':
    li = input().split()
    print(Solution().anyToDecimal(li[0], int(li[1])))

補(bǔ)充

10進(jìn)制負(fù)數(shù)轉(zhuǎn)換為二進(jìn)制

m = -1
bin(m & 0xffffffff)

整數(shù)之間轉(zhuǎn)換

# 1. 10 -> 16
hex(number)
# 2. 10 -> 2
bin(number)
# 3. 10 -> 8
oct(number)# 4. x進(jìn)制 -> 10
int(Union[str, bytes, bytearray],base=x)
------------------
print(int("0x16", base=16)) // 22

字符串轉(zhuǎn)整數(shù)

# 10進(jìn)制
val = int('10')
print(type(val), val)
# 16進(jìn)制
val = int('0xa', 16)
print(type(val), val)
val = int('a', 16)
print(type(val), val)
# 2進(jìn)制
val = int('0b1010', 2)
print(type(val), val)
val = int('1010', 2)
print(type(val), val)
----------------------------無意義------------------------------
# 3進(jìn)制
val = int('101', 3)
print(type(val), val)
# 5進(jìn)制
val = int('60', 5)
print(type(val), val)

總結(jié)

到此這篇關(guān)于python常見進(jìn)制轉(zhuǎn)換方法的文章就介紹到這了,更多相關(guān)python進(jìn)制轉(zhuǎn)換方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pytorch自動(dòng)求導(dǎo)函數(shù)詳解流程以及與TensorFlow搭建網(wǎng)絡(luò)的對(duì)比

    Pytorch自動(dòng)求導(dǎo)函數(shù)詳解流程以及與TensorFlow搭建網(wǎng)絡(luò)的對(duì)比

    PyTorch是一個(gè)開源的Python機(jī)器學(xué)習(xí)庫,基于Torch,用于自然語言處理等應(yīng)用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch,這篇文章主要介紹了Pytorch自定義自動(dòng)求導(dǎo)函數(shù),以及PyTorch與TensorFlow搭建網(wǎng)絡(luò)的對(duì)比
    2021-11-11
  • Python中NumPy的矩陣與通用函數(shù)

    Python中NumPy的矩陣與通用函數(shù)

    這篇文章主要介紹了Python中NumPy的矩陣與通用函數(shù),Numpy是python的一種開源的數(shù)值計(jì)算擴(kuò)展。這種工具可用來存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表結(jié)構(gòu)要高效的多支持大量的維度數(shù)組與矩陣運(yùn)算,需要的朋友可以參考下
    2023-07-07
  • Python的Tornado?Web框架深入解析

    Python的Tornado?Web框架深入解析

    這篇文章主要為大家介紹了Python的Tornado Web框架的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Python本地與全局命名空間用法實(shí)例

    Python本地與全局命名空間用法實(shí)例

    這篇文章主要介紹了Python本地與全局命名空間用法,實(shí)例分析了Python命名空間的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • Tensorflow之梯度裁剪的實(shí)現(xiàn)示例

    Tensorflow之梯度裁剪的實(shí)現(xiàn)示例

    這篇文章主要介紹了Tensorflow之梯度裁剪的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • python 的集合類型詳解

    python 的集合類型詳解

    這篇文章主要為大家介紹了python的集合類型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Python應(yīng)用開發(fā)頻繁假死的問題分析及解決

    Python應(yīng)用開發(fā)頻繁假死的問題分析及解決

    最近在開發(fā)一款自動(dòng)化的應(yīng)用,但是,在測(cè)試時(shí),卻發(fā)現(xiàn)了問題,當(dāng)我點(diǎn)擊暫停任務(wù)后,此時(shí)子線程被阻塞,如果我這個(gè)時(shí)候點(diǎn)擊停止,那么就會(huì)任務(wù)結(jié)束,之后,如果我再點(diǎn)擊開始運(yùn)行,整個(gè)應(yīng)用就會(huì)卡死,所以本文介紹了Python應(yīng)用開發(fā)頻繁假死的問題分析及解決,需要的朋友可以參考下
    2024-08-08
  • python中Scrapy?shell的使用

    python中Scrapy?shell的使用

    這篇文章主要介紹了python入門之Scrapy?shell的使用,scrapy提供了一個(gè)shell。用來方便的測(cè)試規(guī)則,下面我們一起進(jìn)入文章學(xué)習(xí)該內(nèi)容吧,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-02-02
  • 用Python采集《雪中悍刀行》彈幕做成詞云實(shí)例

    用Python采集《雪中悍刀行》彈幕做成詞云實(shí)例

    大家好,本篇文章主要講的是用Python采集《雪中悍刀行》彈幕做成詞云實(shí)例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • python從入門到精通(DAY 1)

    python從入門到精通(DAY 1)

    本文是此次python從入門到精通系列文章的第一篇,給大家匯總一下常用的Python的基礎(chǔ)知識(shí),非常的簡(jiǎn)單,但是很全面,有需要的小伙伴可以參考下
    2015-12-12

最新評(píng)論

宁城县| 全椒县| 九龙县| 静安区| 靖江市| 东海县| 黔西| 双牌县| 赣州市| 府谷县| 广汉市| 大安市| 株洲市| 太保市| 岳阳县| 丹江口市| 清水县| 江城| 准格尔旗| 瑞丽市| 大丰市| 镇坪县| 精河县| 卫辉市| 乐业县| 桂林市| 湄潭县| 毕节市| 呼图壁县| 罗平县| 巴林左旗| 万宁市| 澳门| 肃北| 武夷山市| 静安区| 六盘水市| 顺平县| 扶余县| 大连市| 张家口市|