不同的進製
不同的進製是採用不同的數為基的數值系統,常見的有二進位制、八進位制、十進位制、十六進製制。
二進位制與十進位制之間的轉換
二進位制轉換為十進位制,將每一位數乘以對應的2的某次方,得到的數相加,便是得到的十進位制結果。從小數點前第一位開始,是乘以2的0次方,前第二位是乘以2的1次方,小數點後第一位是乘以二的負一次方,以此類推。
如:將10101110.11裝換為十進位制。
1×2^7
=128
0×2^6=
01×2^5
=320×2^4=
01×2^3
=81×2^2=
41×2^1
=20×2^0=
01×2^(
-1)=
0.51×2^(
-2)=
0.25
128+0+
32+0+
8+4+
2+0+
0.5+
0.25
=174.75
所以二進位制10101110.11的十進位制數為174.75
十進位制轉換為二進位制整數和小數有所不同。
對於整數,連續除以2,直到商為0,餘數反向排列
如:將174轉換為二進位制。
174÷2
=87……0
87÷2
=43……1
43÷2
=21……1
21÷2
=10……1
10÷2
=5 ……0
5÷2=
2 ……1
2÷2=
1 ……0
1÷2=
0 ……1
由下到上反向排列為10101110,即174轉換為二進位制為10101110。
對於小數部分,採用乘2取整的方法進行,一直乘到小數部分為0為止,無法為零時按要求保留多少位即可。
如:將0.125轉換為二進位制。
0.125×2
=0.25 取整數部分0
0.25×2
=0.5 取整數部分0
0.5×2
=1 取整數部分1
所以0.125轉換為二進位制為0.001
二進位制與八進位制之間的轉換
二進位制轉換為八進位制,將二進位制每三位分別轉換為十進位制,連起來得到的便是結果的八進位制數。
如:將110101011轉換為八進位制。
110101011拆分為110
101011
110轉換為十進位制為6
101轉換為十進位制為5
011轉換為十進位制為3
所以二進位制110101011轉換為八進位制為653
八進位制轉換為二進位制,將八進位制的每一位分別對應到三位二進位制即可。
如:將八進位制567轉換為二進位制。
5對應的二進位制為101
6對應的二進位制為110
7對應的二進位制為111
所以八進位制567對應的二進位制數為101110111
二進位制與十六進製制之間的轉換
二進位制轉換為十六進製制,將二進位制每四位分別轉換為十六進製制,連起來得到的便是結果的十六進製制數。
如:將10101011轉換為十六進製制。
10101011拆分為1010
1011
1010轉換為十六進製制為a
1011轉換為十進位制為b
所以二進位制10101011轉換為十六進製制為ab
十六進製制轉換為二進位制,將十六進製制的每一位分別對應到四位二進位制即可。
如:將十六進製制89ac轉換為二進位制。
8對應的二進位制為1000
9對應的二進位制為1001
a對應的二進位制為1010
c對應的二進位制為1100
所以八進位制567對應的二進位制數為1000100110101100。
掌握了基本的轉換方法以後,任何兩種進製之間都能用直接或者間接的方法隨意進行轉換。
各個進製之間的轉換
在python中,bin oct hex 返回值均為字串而且會帶有0b,0o,0o字首 a 十進位制轉換二進位制 coding utf 8 s 10 list one if s 0and s 1 print 二進位制 d s else while s 1 str s 2 s s 2 list one...
進製之間的轉換
今天翻了一本計算機基礎的書籍,其中十進位制 二進位制 八進位制 十六進製制之間的轉換挺有意思的,也容易犯糊塗,特溫故而知新。十進位制數制系統 十進位制數制系統包括 10 個數字 0 1 2 3 4 5 6 7 8 9 基為 10 逢十進一,如3 7 10,20 80 100 二進位制數制系統 計算機...
進製之間的轉換
作為程式設計人員,我們常用的進製型別為 2 進製 8 進製 10 進製以及 16 進製了,他們的表示方法為 2進製為 0b001101 也就是二進位制數前加上 0b 8進製為 067 進製數前加上 0 10進製就不需多說了,什麼也不加就行,而16進製制前需要加上 0x 如 0x78af 他們的區別在...