1、在python裡,使用str.format()可以很方便地在進製間轉換。
(1)十進位制數–>對應的二進位制數
>>> ''.format(12) #把十進位制數12轉為對應的二進位制數的字串形式
>>> '1100'
>>> if
num< 0:
num = num + 4294967296
>>>''.format(12) #32位二進位制
(2)十進位制數–>固定長度的對應的二進位制數
>>>
''.format(12) #指定長度為7
>>>
'0001100'
2、使用ctypes庫:
>>>
import ctypes
>>> a = 31
>>> b = ctypes.c_int32(a).value
3、使用bin()函式:
>>> bin(31) #結果為字串形式
'0b11111'
hex()函式將十進位制轉換16進製制:
>>> hex(31)
'0x1f'
oct()函式將十進位制轉換為八進位制
>>> oct(255)
'0377'
5、int()可以將 二進位制,八進位制,十六進製制轉換成十進位制整型
>>> int('1111', 2)
15>>> int('f', 16)
15>>> int('17', 8)
15
4、將字串轉換為陣列:
>>> a = "abcd"
>>> b = list(map(ord, a))
[65, 66, 67, 68]
ps:
本帖為總結帖,今後在進製轉換方面找到了更好的方法會更新
進製間的轉換
進製間的轉換 如 在某系統中,等式15 4 112成立,則系統採用的是 進製?a.6 b.7 c.8 d.9 在這個題中,我們可以將每乙個的進製帶進去算一下。如 a,先換成十進位制 15 11,4 4,112 44 11 4 44 即 a 正確。我們可以採用這樣的辦法算這樣的題。但是如果我們遇到這樣...
進製間的轉換
對於整數而言,有四種表現形式 二進位制 0,1,滿2進1 八進位制 0 7,滿8進1,用0開頭表示 十進位制 0 9,滿10進1 十六進製制 0 9,a f 滿16進1,用0x開頭表示 在說換算前,先了解一下byte,是計算機儲存資料的最小單位,1byte 8個二進位制位 計算機則是以二進位制儲存資...
進製間轉換
1.進製間轉換 十進位制轉二進位制 十進位制的數一直除以2,直到商為0,結果為逆序的每個餘數。除2取餘,逆序排列 法,十進位制轉 八 十六進製制同理 十進位制小數轉二進位制小數 小數一直乘以2,直到小數部分為0,結果為順序的每個整數部分。乘2取整,順序排列 法 0.25 10 0.01 2 0.25...