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