各個進製之間的轉換

2021-10-04 20:44:08 字數 2093 閱讀 8858

不同的進製

不同的進製是採用不同的數為基的數值系統,常見的有二進位制、八進位制、十進位制、十六進製制。

二進位制與十進位制之間的轉換

二進位制轉換為十進位制,將每一位數乘以對應的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 他們的區別在...