91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python 中進制轉換的原理是什么

發布時間:2021-01-13 14:22:26 來源:億速云 閱讀:234 作者:Leah 欄目:開發技術

這篇文章給大家介紹python 中進制轉換的原理是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

原理

十進制轉n進制都可以使用倒除法:對十進制進行除n的運算,直到商為0為止,然后將各個步驟中得到的余數倒著寫出來.
n進制轉十進制:(例子:二進制轉十進制)
101001 => 2^5 + 2^3 + 1 = 32 + 8 + 1 = 41
10111 => 2^4 + 2^2 + 2 + 1 = 16 + 4 + 2 +1 = 23
同樣類推一下,n進制轉十進制就是將2為底換成n為底就好了


還有其他方法,比如使用中間二進制,
例如,將十進制轉成八進制或者十六進制,先轉成二進制再轉成八進制或者十六進制
十進制 => 二進制 => 十六進制
520 => 1000001000 (512+8) => 10 0000 1000 => 208(十六進制)
1314 => 10100100010(二進制) => 2442(八進制) => 522(十六進制)


八進制或者十六進制轉成十進制
十六進制 => 二進制 => 十進制
522 => 0101 0010 0010 => 1024 + 256 + 32 + 2 = 1280+34 = 1314(十進制)

十進制轉其他進制的數

使用內置函數bin、oct、hex可以將整數轉換成對應的二進制、八進制、十六進制;
注意只能轉換整數,返回的數據是一個字符串類型

a = 12# 默認數字都是十進制
print(a)# 12
b = 0b0101010111#以0b開頭的是二進制數,默認也是十進制輸出
print(b)# 343
c = 0o33# 以0o開頭的是八進制數
print(c)# 27
d = 0x24# 以0x開頭的是十六進制數
print(d)# 36
a = 12 # 12是十進制數
print(bin(a))# 0b1100 使用bin內置函數可以將數字轉換為二進制
print(oct(a))# 0o14 使用oct內置函數可以將數字轉換為八進制
print(hex(a))# 0xc 使用hex內置函數可以將數字轉換為十六進制
print(type(bin(a)))# <class 'str'>
print(bin(0o1111))# 0b1001001001
print(bin(0xff))# 0b11111111
print(oct(0xff))# 0o377
print(hex(0b00011111)) # 0x1f
# print(bin(1.12))
# print(oct(1.12))
# print(hex(1.12))
# TypeError: 'float' object cannot be interpreted as an integer

其他進制轉換成十進制

int函數的使用
int(x, base=10)base是進制,默認是十進制
int函數常用來將其他類型的數據轉換成整型
注意
x 有兩種:str / int
1、若 x 為純數字,就不能給base傳參數,否則就會報錯
2、若 x 為 str,則可以給base傳參,不傳就默認是10;給base傳什么參數就認為此字符串為什么進制的數,然后把它轉換成十進制的數,但字符串里的數必須符合該進制規范,否則會報錯

print(int(3.112))# 3
# print(int(3.112,8))# TypeError: int() can't convert non-string with explicit base
print(int('10',2))# 2
# print(int('22',2))# ValueError: invalid literal for int() with base 2: '22'
print(int('0xaaa',16))# 2730
print(int('0b111',2))# 7
print(int('0o1237',8))# 671

關于python 中進制轉換的原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三穗县| 德令哈市| 京山县| 惠水县| 望谟县| 禹州市| 阿城市| 襄垣县| 芦山县| 闽清县| 察隅县| 上犹县| 绵阳市| 抚松县| 同德县| 盐山县| 洛宁县| 杂多县| 蓬莱市| 郁南县| 黄大仙区| 乐安县| 蒙自县| 昆山市| 菏泽市| 勐海县| 门源| 长寿区| 昭觉县| 尼勒克县| 永年县| 交口县| 中西区| 延庆县| 民勤县| 鄂托克前旗| 余庆县| 彭泽县| 河西区| 东阿县| 南木林县|