简单搞定python进制转换
1、python的進制轉換方法
十進制范圍0-9共10個數 逢十進一十進制直接寫 a=100;
二進制范圍0-1 共2個數 逢二進一以0b開頭, b=0b110;
八進制范圍0-7 共8個數 逢八進一,以0o開頭 c=0o526;
十六進制范圍0-9或a-f a=10 b=11 c=12 d=13 e=14 f=15,以0x開頭? d= 0x0012ac
(1)10進制 為數字0-9共10個數字,逢10進1,例a=100,
? 十進制轉換二進制命令為 bin() ,? 輸入“print(bin(a))"運行即可將a轉換為二進制
?十進制轉換八進制命令為 oct() ,? 輸入“print(oct(a))"運行即可將a轉換為八進制
十進制轉換八進制命令為 oct() ,? 輸入“print(oct(a))"運行即可將a轉換為八進制
(2) 二 、八、十六 進制轉換為十進制 可輸入“print(int( ))
2、進制原理轉換算法
?比如i0=199, 十進制理解為(從數據后側向前)9*10的0次方+9*10的1次方+1*10的2次方=9+90+100=199
根據此計算原理,可以將i0=199 轉換計算為二進制 ,找小于當前數值最大的2的n次方:
128+64+4+2+1,可以推導出,128為2的7次方,則在二進制中位于第8位(從后至前數),其余數值依次推出位置 ,得到二進制數值:0b11000111
驗證:
?同理 可以將i0=199 轉換計算為八進制,找小于當前數值最大的8的n次方:64+64+64+7,分別為8的2次方*3,+7*8的0次方,0o307。
驗證:
?同理 可以將i0=199 轉換計算為十六進制,找小于當前數值最大的16的n次方,16+16+16+16+16+16+16+16+16+16+16+16+7 理解為12個16的1次方+7(7 *16的0次方),則為0xc7
驗證:
(3)將二進制?0b11000111,八進制0o307? 十六進制0xc7轉換成十進制
0b1000111:1*2的0次方+1*2的1次方+1*2的2次方+1*2的6次方+1*2的7次方=199
0o307:7*8的0次方+3*8的2次方=199
0xc7:7*16的0次方+12*16的1次方=199
總結
以上是生活随笔為你收集整理的简单搞定python进制转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【特征检测】FAST特征点检测算法
- 下一篇: RT-Thread记录(十、全面认识 R