1. 程式人生 > >Python全棧之路----進位制運算

Python全棧之路----進位制運算

1.進位制拾遺

二進位制:01

八進位制:01234567

十進位制:0123456789

十六進位制:0123456789ABCDEF  (a是10,b是11,c是12,d是13,e是14,f是15)

2.進位制轉換

十進位制轉八進位制 oct()

>>> oct(234)
'0o352'

十進位制轉十六進位制 hex()

>>> hex(234)
'0xea'  #意思是1410,0x是代表16進位制

3. 為什麼用16進位制

(1)計算機硬體是0101二進位制的,16進位制剛好是2的倍數,更容易表達一個命令或者資料。十六進位制更簡短,因為換算的時候一位16進

制數可以頂4位2進位制數,也就是一個位元組(8位進位制可以用兩個16進製表示)
(2)最早規定ASCI字符集採用的就是8bit(後期擴充套件了,但是基礎單還是8bit),8bit用2個16進位制直接就能表達出來,不管閱讀還是
儲存都比其他進位制要方便
(3)計算機中CPU運算也是遵照ASCI宇符集,以16、32、64的這樣的方式在發展,因此資料交換的時候16進位制也顯得更好
(4)為了統一規範,CPU、記憶體、硬碟我們看到都是採用的16進位制計算
4.16進位制用在哪裡
(1)網路程式設計,資料交換的時候需要對位元組進行解析都是一個byte-個byte的處理,1個byte可以用0xFF兩個16進位制來表達。通過網

絡抓包,可以看到資料是通過16進位制傳輸的
(2)資料儲存,儲存到硬體中是0101的方式,儲存到系統中的表達方式都是byte方式
(3)一些常用值的定義,比如:我們經常用到的html中 color:表達,就是用的16進位制方式,4個16進位制位可以表達好幾百萬的顏色資訊。
    二進位制數與十六進位制數htp:/lingyan.baidu.com/abum/47a29f24292608c014239cb.html?picinae=1 5.16進位制和2進位制的轉換方法 (1)每四個二進位制換算成對應的16進位制的數即可 例如1101
1001 1011 1001
        B       9      B       9