一、進制
進制: 進制也即是進位計數制,是人爲定義的帶進位計數的方法。對於任何一種進制–X進制,就表示每一位置上數運算時達到X就進位
二、計算機中常用進制: 二進制 八進制 十進制 十六進制
- 二進制: 由 0 1 兩個數字組成, 基數爲2
- 八進制: 由 0~7 八個數字組成, 基數爲8
- 十進制: 由 0~9 十個數字組成, 基數爲10
- 十六進制: 由 0~9 a~f 十六個數字組成, 基數爲16
三、進制見的相互轉換
-
二進制 八進制 十六進制 --> 十進制
- 按權展開法: 對應 n 位上的數乘以基數的 n次方, n 從 0 開始計數
- 例如:
二進制數 10110110 = 1*2^7 + 0*2^6 + 1*2^5 + 1*2^4 + 0*2^3 + 1*2^2 + 1*2^1 + 0*2^0
-
十進制 --> 二進制 八進制 十六進制
- 整數部分: 十進制整數除以基數取餘數直到餘數爲零, 將餘數反序排列
- 小數部分: 十進制小數乘以基數取整數部分, 順序排列.
- 例如: 27.25 化爲 二進制
整數部分: 27 = 11011
小數部分: 0.25 = 0.01
十進制數 27.25 = 二進制數 11011.01
-
二進制 八進制 十六進制間的轉換
二進制-->八進制
- 整數部分: 從右向左數, 三位二進制數對應一位八進制數. 高位不足補零;
- 小數部分: 從左向右數, 三位位二進制數對應一位八進制數. 低位不足補零
-
二進制-->十六進制
- 整數部分: 從右向左數, 四位二進制數對應一位十六進制數. 高位不足補零;
- 小數部分: 從左向右數, 四位位二進制數對應一位八進制數. 低位不足補零
-
例如: 1000111011011 化爲八進制 和十六進制
1.1 000 111 011 011 = 八進制 10733
2.1 0001 1101 1011 = 十六進制 11db
四、python各進制的表示及轉換
- python進制的表示, 進制的直接書寫.
- 二進制:
0b
開頭 - 八進制:
0o
開頭 - 十進制:
不能以0開頭
- 十六進制:
0x
- 二進制:
- python中進制轉換函數
轉爲二進制: bin(int x)
將整數轉爲二進制字符串, 返回的是二進制數的字符串轉爲八進制: oct(int x)
將整數轉爲八進制字符串, 返回的是八進制數的字符串轉爲16進制: hex(int x)
將整數轉爲十六進制字符串, 返回的是十六進制數的字符串
實力程序
a = 0b1000111001
b = 0o10
c = 0xaef
print("a:", a, "b:", b, "c:", c)
print(n := bin(10), type(n)) # bin(int x)
print(n := oct(9), type(n)) # oct(int x)
print(n := hex(17), type(n)) # hex(int x)