'用Python實現進制轉換,這一篇教程就夠了!這也太完美了'

"

前言

Python 實現進制轉換

一、導言

導語:

在計算機進行數據交換時,常常會有一個進制轉換的過程,我們知道計算機只認0 和 1.在內存系統中,基本基於二進制進行運算的,但是有時候數據過於龐大,為了方便存儲管理,計算機會使用十六進制存儲數據,但是怎麼實現數據轉換呢?

我們人類由十根手指頭,所以自然就使用十進制啦,每當我們數數字到10之後,於是就重0 開始繼續數,所以逢十進一就這麼來了。

對於其它進制呢,也是同樣的,比如最常見的二進制,也就是逢二進一,慢慢來,依次類推,所以數學的世界是多麼的奇妙呀!

今天給大家帶來的是使用 Python 實現進制轉換,內容包括如下:

dec(十進制)—> bin(二進制)

dec(十進制)—> oct(八進制)

dec(十進制)—> hex(十六進制)

二、各種進制介紹

在轉換之前,我們先了解以下各種進制

十進制(Decimal)

我們所熟知的十進制,其實是從 0 開始,數到 9 之後,就跳到 10,這樣就變成了 10,數數大家總會把

二進制(Binary)

二進制同理,從 0 開始也就是 00(前面的一個0可以省去,但是為了更好的描述,所以保留),到 01,也變成了 10【對應十進制中的 3】,然後是 11【對應十進制中的 4】,100【十進制中的5】。。。以此類推

因為 二進制 的英文單詞是 binary,所以在計算機運算的過程中,使用二進制會用如下方法,0b11(4),0b1101(13)等等

八進制(Octal)

理解了二進制,在理解八進制就很容易了,八進制是逢八進一,範圍是 0~7,對比一下二進制,就很好理解啦!!

十六進制(Hexadecimal)

十六進制就可能會相對複雜一點點,十六進制是用數字 0~9 和 英文字母 A - F(大小寫隨意) 表示,因此 A代表 10, F代表 15。為什麼在計算機領域中,十六進制用途會如此廣泛呢?

給大家看一個對比:

"

前言

Python 實現進制轉換

一、導言

導語:

在計算機進行數據交換時,常常會有一個進制轉換的過程,我們知道計算機只認0 和 1.在內存系統中,基本基於二進制進行運算的,但是有時候數據過於龐大,為了方便存儲管理,計算機會使用十六進制存儲數據,但是怎麼實現數據轉換呢?

我們人類由十根手指頭,所以自然就使用十進制啦,每當我們數數字到10之後,於是就重0 開始繼續數,所以逢十進一就這麼來了。

對於其它進制呢,也是同樣的,比如最常見的二進制,也就是逢二進一,慢慢來,依次類推,所以數學的世界是多麼的奇妙呀!

今天給大家帶來的是使用 Python 實現進制轉換,內容包括如下:

dec(十進制)—> bin(二進制)

dec(十進制)—> oct(八進制)

dec(十進制)—> hex(十六進制)

二、各種進制介紹

在轉換之前,我們先了解以下各種進制

十進制(Decimal)

我們所熟知的十進制,其實是從 0 開始,數到 9 之後,就跳到 10,這樣就變成了 10,數數大家總會把

二進制(Binary)

二進制同理,從 0 開始也就是 00(前面的一個0可以省去,但是為了更好的描述,所以保留),到 01,也變成了 10【對應十進制中的 3】,然後是 11【對應十進制中的 4】,100【十進制中的5】。。。以此類推

因為 二進制 的英文單詞是 binary,所以在計算機運算的過程中,使用二進制會用如下方法,0b11(4),0b1101(13)等等

八進制(Octal)

理解了二進制,在理解八進制就很容易了,八進制是逢八進一,範圍是 0~7,對比一下二進制,就很好理解啦!!

十六進制(Hexadecimal)

十六進制就可能會相對複雜一點點,十六進制是用數字 0~9 和 英文字母 A - F(大小寫隨意) 表示,因此 A代表 10, F代表 15。為什麼在計算機領域中,十六進制用途會如此廣泛呢?

給大家看一個對比:

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

當數據比較大的時候,二進制顯然不再那麼使用,再看使用十六進制,就簡短很多。

十六進制的運用領域可不止如此,比如原畫師調色的時候,如果使用 RGB 三原色的話,那就會有 256 x 256 x 256 種組合,我們就可以使用十六進制,把每一種顏色對比轉換成 十六進制字符,就會方便很多,以下是我之前調色的時候寫的一個很簡單一個 C 語言小程序,呃,似乎有點跑題了,哈哈,不管了

"

前言

Python 實現進制轉換

一、導言

導語:

在計算機進行數據交換時,常常會有一個進制轉換的過程,我們知道計算機只認0 和 1.在內存系統中,基本基於二進制進行運算的,但是有時候數據過於龐大,為了方便存儲管理,計算機會使用十六進制存儲數據,但是怎麼實現數據轉換呢?

我們人類由十根手指頭,所以自然就使用十進制啦,每當我們數數字到10之後,於是就重0 開始繼續數,所以逢十進一就這麼來了。

對於其它進制呢,也是同樣的,比如最常見的二進制,也就是逢二進一,慢慢來,依次類推,所以數學的世界是多麼的奇妙呀!

今天給大家帶來的是使用 Python 實現進制轉換,內容包括如下:

dec(十進制)—> bin(二進制)

dec(十進制)—> oct(八進制)

dec(十進制)—> hex(十六進制)

二、各種進制介紹

在轉換之前,我們先了解以下各種進制

十進制(Decimal)

我們所熟知的十進制,其實是從 0 開始,數到 9 之後,就跳到 10,這樣就變成了 10,數數大家總會把

二進制(Binary)

二進制同理,從 0 開始也就是 00(前面的一個0可以省去,但是為了更好的描述,所以保留),到 01,也變成了 10【對應十進制中的 3】,然後是 11【對應十進制中的 4】,100【十進制中的5】。。。以此類推

因為 二進制 的英文單詞是 binary,所以在計算機運算的過程中,使用二進制會用如下方法,0b11(4),0b1101(13)等等

八進制(Octal)

理解了二進制,在理解八進制就很容易了,八進制是逢八進一,範圍是 0~7,對比一下二進制,就很好理解啦!!

十六進制(Hexadecimal)

十六進制就可能會相對複雜一點點,十六進制是用數字 0~9 和 英文字母 A - F(大小寫隨意) 表示,因此 A代表 10, F代表 15。為什麼在計算機領域中,十六進制用途會如此廣泛呢?

給大家看一個對比:

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

當數據比較大的時候,二進制顯然不再那麼使用,再看使用十六進制,就簡短很多。

十六進制的運用領域可不止如此,比如原畫師調色的時候,如果使用 RGB 三原色的話,那就會有 256 x 256 x 256 種組合,我們就可以使用十六進制,把每一種顏色對比轉換成 十六進制字符,就會方便很多,以下是我之前調色的時候寫的一個很簡單一個 C 語言小程序,呃,似乎有點跑題了,哈哈,不管了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

三、使用 Python 代碼完成轉換

3.1 十進制轉換為二進制

我記得不太清楚是啥時候第一次學進制轉換的,進制轉換常用的方法就是對 2 取餘數,然後得到餘數反轉連在一起就是 我們所需要的二進制,舉個例子,比如我要計算 十進制數 13 的 二進制是多少?

"

前言

Python 實現進制轉換

一、導言

導語:

在計算機進行數據交換時,常常會有一個進制轉換的過程,我們知道計算機只認0 和 1.在內存系統中,基本基於二進制進行運算的,但是有時候數據過於龐大,為了方便存儲管理,計算機會使用十六進制存儲數據,但是怎麼實現數據轉換呢?

我們人類由十根手指頭,所以自然就使用十進制啦,每當我們數數字到10之後,於是就重0 開始繼續數,所以逢十進一就這麼來了。

對於其它進制呢,也是同樣的,比如最常見的二進制,也就是逢二進一,慢慢來,依次類推,所以數學的世界是多麼的奇妙呀!

今天給大家帶來的是使用 Python 實現進制轉換,內容包括如下:

dec(十進制)—> bin(二進制)

dec(十進制)—> oct(八進制)

dec(十進制)—> hex(十六進制)

二、各種進制介紹

在轉換之前,我們先了解以下各種進制

十進制(Decimal)

我們所熟知的十進制,其實是從 0 開始,數到 9 之後,就跳到 10,這樣就變成了 10,數數大家總會把

二進制(Binary)

二進制同理,從 0 開始也就是 00(前面的一個0可以省去,但是為了更好的描述,所以保留),到 01,也變成了 10【對應十進制中的 3】,然後是 11【對應十進制中的 4】,100【十進制中的5】。。。以此類推

因為 二進制 的英文單詞是 binary,所以在計算機運算的過程中,使用二進制會用如下方法,0b11(4),0b1101(13)等等

八進制(Octal)

理解了二進制,在理解八進制就很容易了,八進制是逢八進一,範圍是 0~7,對比一下二進制,就很好理解啦!!

十六進制(Hexadecimal)

十六進制就可能會相對複雜一點點,十六進制是用數字 0~9 和 英文字母 A - F(大小寫隨意) 表示,因此 A代表 10, F代表 15。為什麼在計算機領域中,十六進制用途會如此廣泛呢?

給大家看一個對比:

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

當數據比較大的時候,二進制顯然不再那麼使用,再看使用十六進制,就簡短很多。

十六進制的運用領域可不止如此,比如原畫師調色的時候,如果使用 RGB 三原色的話,那就會有 256 x 256 x 256 種組合,我們就可以使用十六進制,把每一種顏色對比轉換成 十六進制字符,就會方便很多,以下是我之前調色的時候寫的一個很簡單一個 C 語言小程序,呃,似乎有點跑題了,哈哈,不管了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

三、使用 Python 代碼完成轉換

3.1 十進制轉換為二進制

我記得不太清楚是啥時候第一次學進制轉換的,進制轉換常用的方法就是對 2 取餘數,然後得到餘數反轉連在一起就是 我們所需要的二進制,舉個例子,比如我要計算 十進制數 13 的 二進制是多少?

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

這也是老師教我們的方法,也是我們第一次接觸進制轉換的時候,用目標數 num 對 2求 餘數,直到 商為 0 的時候,結束,然後將餘數反向組合輸出,及為我們所求的 2 進制數。有的同學會問,我怎麼就能這麼確定這就是 13 對應的 2 進制數呢?

答曰:

由於二進制的特殊性,數字從右邊往左邊數,依次對應 20 x 1 + 21 x 0 + 22x 1 + 23 x 1 = 1 +4 +8 = 13, 給大家一個速記口訣,1,2,4,8,16,32,64,128,256,512,1024。分別是 20~ 210對應的值

所以有了思路,我們就可以愉快的敲代碼了

"

前言

Python 實現進制轉換

一、導言

導語:

在計算機進行數據交換時,常常會有一個進制轉換的過程,我們知道計算機只認0 和 1.在內存系統中,基本基於二進制進行運算的,但是有時候數據過於龐大,為了方便存儲管理,計算機會使用十六進制存儲數據,但是怎麼實現數據轉換呢?

我們人類由十根手指頭,所以自然就使用十進制啦,每當我們數數字到10之後,於是就重0 開始繼續數,所以逢十進一就這麼來了。

對於其它進制呢,也是同樣的,比如最常見的二進制,也就是逢二進一,慢慢來,依次類推,所以數學的世界是多麼的奇妙呀!

今天給大家帶來的是使用 Python 實現進制轉換,內容包括如下:

dec(十進制)—> bin(二進制)

dec(十進制)—> oct(八進制)

dec(十進制)—> hex(十六進制)

二、各種進制介紹

在轉換之前,我們先了解以下各種進制

十進制(Decimal)

我們所熟知的十進制,其實是從 0 開始,數到 9 之後,就跳到 10,這樣就變成了 10,數數大家總會把

二進制(Binary)

二進制同理,從 0 開始也就是 00(前面的一個0可以省去,但是為了更好的描述,所以保留),到 01,也變成了 10【對應十進制中的 3】,然後是 11【對應十進制中的 4】,100【十進制中的5】。。。以此類推

因為 二進制 的英文單詞是 binary,所以在計算機運算的過程中,使用二進制會用如下方法,0b11(4),0b1101(13)等等

八進制(Octal)

理解了二進制,在理解八進制就很容易了,八進制是逢八進一,範圍是 0~7,對比一下二進制,就很好理解啦!!

十六進制(Hexadecimal)

十六進制就可能會相對複雜一點點,十六進制是用數字 0~9 和 英文字母 A - F(大小寫隨意) 表示,因此 A代表 10, F代表 15。為什麼在計算機領域中,十六進制用途會如此廣泛呢?

給大家看一個對比:

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

當數據比較大的時候,二進制顯然不再那麼使用,再看使用十六進制,就簡短很多。

十六進制的運用領域可不止如此,比如原畫師調色的時候,如果使用 RGB 三原色的話,那就會有 256 x 256 x 256 種組合,我們就可以使用十六進制,把每一種顏色對比轉換成 十六進制字符,就會方便很多,以下是我之前調色的時候寫的一個很簡單一個 C 語言小程序,呃,似乎有點跑題了,哈哈,不管了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

三、使用 Python 代碼完成轉換

3.1 十進制轉換為二進制

我記得不太清楚是啥時候第一次學進制轉換的,進制轉換常用的方法就是對 2 取餘數,然後得到餘數反轉連在一起就是 我們所需要的二進制,舉個例子,比如我要計算 十進制數 13 的 二進制是多少?

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

這也是老師教我們的方法,也是我們第一次接觸進制轉換的時候,用目標數 num 對 2求 餘數,直到 商為 0 的時候,結束,然後將餘數反向組合輸出,及為我們所求的 2 進制數。有的同學會問,我怎麼就能這麼確定這就是 13 對應的 2 進制數呢?

答曰:

由於二進制的特殊性,數字從右邊往左邊數,依次對應 20 x 1 + 21 x 0 + 22x 1 + 23 x 1 = 1 +4 +8 = 13, 給大家一個速記口訣,1,2,4,8,16,32,64,128,256,512,1024。分別是 20~ 210對應的值

所以有了思路,我們就可以愉快的敲代碼了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

num, reminder = divmod(num,2) # 短除法,對2求,分別得到除數 和 餘數、這是 Python 的特有的一個內置方法,分別可以到商 及 餘數

l.append(str(reminder)) # 把獲得的餘數 存入字符串

if num == 0: # 對應了前面的話,當商為 0時,就結束啦

return “”.join(l[::-1]) # 對列表中的字符串進行逆序拼接,得到一個二進制字符串

3.2 十進制轉八進制

理解了二進制的轉換,八進制一樣不難。同樣是目標數 num對八 求商,留餘數,照這個思路走。檢驗的時候,一樣,把 2n把2 替換成 8即可。

看代碼:

和 二進制 的基本沒啥卻別

"

前言

Python 實現進制轉換

一、導言

導語:

在計算機進行數據交換時,常常會有一個進制轉換的過程,我們知道計算機只認0 和 1.在內存系統中,基本基於二進制進行運算的,但是有時候數據過於龐大,為了方便存儲管理,計算機會使用十六進制存儲數據,但是怎麼實現數據轉換呢?

我們人類由十根手指頭,所以自然就使用十進制啦,每當我們數數字到10之後,於是就重0 開始繼續數,所以逢十進一就這麼來了。

對於其它進制呢,也是同樣的,比如最常見的二進制,也就是逢二進一,慢慢來,依次類推,所以數學的世界是多麼的奇妙呀!

今天給大家帶來的是使用 Python 實現進制轉換,內容包括如下:

dec(十進制)—> bin(二進制)

dec(十進制)—> oct(八進制)

dec(十進制)—> hex(十六進制)

二、各種進制介紹

在轉換之前,我們先了解以下各種進制

十進制(Decimal)

我們所熟知的十進制,其實是從 0 開始,數到 9 之後,就跳到 10,這樣就變成了 10,數數大家總會把

二進制(Binary)

二進制同理,從 0 開始也就是 00(前面的一個0可以省去,但是為了更好的描述,所以保留),到 01,也變成了 10【對應十進制中的 3】,然後是 11【對應十進制中的 4】,100【十進制中的5】。。。以此類推

因為 二進制 的英文單詞是 binary,所以在計算機運算的過程中,使用二進制會用如下方法,0b11(4),0b1101(13)等等

八進制(Octal)

理解了二進制,在理解八進制就很容易了,八進制是逢八進一,範圍是 0~7,對比一下二進制,就很好理解啦!!

十六進制(Hexadecimal)

十六進制就可能會相對複雜一點點,十六進制是用數字 0~9 和 英文字母 A - F(大小寫隨意) 表示,因此 A代表 10, F代表 15。為什麼在計算機領域中,十六進制用途會如此廣泛呢?

給大家看一個對比:

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

當數據比較大的時候,二進制顯然不再那麼使用,再看使用十六進制,就簡短很多。

十六進制的運用領域可不止如此,比如原畫師調色的時候,如果使用 RGB 三原色的話,那就會有 256 x 256 x 256 種組合,我們就可以使用十六進制,把每一種顏色對比轉換成 十六進制字符,就會方便很多,以下是我之前調色的時候寫的一個很簡單一個 C 語言小程序,呃,似乎有點跑題了,哈哈,不管了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

三、使用 Python 代碼完成轉換

3.1 十進制轉換為二進制

我記得不太清楚是啥時候第一次學進制轉換的,進制轉換常用的方法就是對 2 取餘數,然後得到餘數反轉連在一起就是 我們所需要的二進制,舉個例子,比如我要計算 十進制數 13 的 二進制是多少?

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

這也是老師教我們的方法,也是我們第一次接觸進制轉換的時候,用目標數 num 對 2求 餘數,直到 商為 0 的時候,結束,然後將餘數反向組合輸出,及為我們所求的 2 進制數。有的同學會問,我怎麼就能這麼確定這就是 13 對應的 2 進制數呢?

答曰:

由於二進制的特殊性,數字從右邊往左邊數,依次對應 20 x 1 + 21 x 0 + 22x 1 + 23 x 1 = 1 +4 +8 = 13, 給大家一個速記口訣,1,2,4,8,16,32,64,128,256,512,1024。分別是 20~ 210對應的值

所以有了思路,我們就可以愉快的敲代碼了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

num, reminder = divmod(num,2) # 短除法,對2求,分別得到除數 和 餘數、這是 Python 的特有的一個內置方法,分別可以到商 及 餘數

l.append(str(reminder)) # 把獲得的餘數 存入字符串

if num == 0: # 對應了前面的話,當商為 0時,就結束啦

return “”.join(l[::-1]) # 對列表中的字符串進行逆序拼接,得到一個二進制字符串

3.2 十進制轉八進制

理解了二進制的轉換,八進制一樣不難。同樣是目標數 num對八 求商,留餘數,照這個思路走。檢驗的時候,一樣,把 2n把2 替換成 8即可。

看代碼:

和 二進制 的基本沒啥卻別

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

3.3 十進制轉十六進制

前面說過,十六進制相比二進制,八進制會複雜一點,但是方法是一樣的

"

前言

Python 實現進制轉換

一、導言

導語:

在計算機進行數據交換時,常常會有一個進制轉換的過程,我們知道計算機只認0 和 1.在內存系統中,基本基於二進制進行運算的,但是有時候數據過於龐大,為了方便存儲管理,計算機會使用十六進制存儲數據,但是怎麼實現數據轉換呢?

我們人類由十根手指頭,所以自然就使用十進制啦,每當我們數數字到10之後,於是就重0 開始繼續數,所以逢十進一就這麼來了。

對於其它進制呢,也是同樣的,比如最常見的二進制,也就是逢二進一,慢慢來,依次類推,所以數學的世界是多麼的奇妙呀!

今天給大家帶來的是使用 Python 實現進制轉換,內容包括如下:

dec(十進制)—> bin(二進制)

dec(十進制)—> oct(八進制)

dec(十進制)—> hex(十六進制)

二、各種進制介紹

在轉換之前,我們先了解以下各種進制

十進制(Decimal)

我們所熟知的十進制,其實是從 0 開始,數到 9 之後,就跳到 10,這樣就變成了 10,數數大家總會把

二進制(Binary)

二進制同理,從 0 開始也就是 00(前面的一個0可以省去,但是為了更好的描述,所以保留),到 01,也變成了 10【對應十進制中的 3】,然後是 11【對應十進制中的 4】,100【十進制中的5】。。。以此類推

因為 二進制 的英文單詞是 binary,所以在計算機運算的過程中,使用二進制會用如下方法,0b11(4),0b1101(13)等等

八進制(Octal)

理解了二進制,在理解八進制就很容易了,八進制是逢八進一,範圍是 0~7,對比一下二進制,就很好理解啦!!

十六進制(Hexadecimal)

十六進制就可能會相對複雜一點點,十六進制是用數字 0~9 和 英文字母 A - F(大小寫隨意) 表示,因此 A代表 10, F代表 15。為什麼在計算機領域中,十六進制用途會如此廣泛呢?

給大家看一個對比:

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

當數據比較大的時候,二進制顯然不再那麼使用,再看使用十六進制,就簡短很多。

十六進制的運用領域可不止如此,比如原畫師調色的時候,如果使用 RGB 三原色的話,那就會有 256 x 256 x 256 種組合,我們就可以使用十六進制,把每一種顏色對比轉換成 十六進制字符,就會方便很多,以下是我之前調色的時候寫的一個很簡單一個 C 語言小程序,呃,似乎有點跑題了,哈哈,不管了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

三、使用 Python 代碼完成轉換

3.1 十進制轉換為二進制

我記得不太清楚是啥時候第一次學進制轉換的,進制轉換常用的方法就是對 2 取餘數,然後得到餘數反轉連在一起就是 我們所需要的二進制,舉個例子,比如我要計算 十進制數 13 的 二進制是多少?

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

這也是老師教我們的方法,也是我們第一次接觸進制轉換的時候,用目標數 num 對 2求 餘數,直到 商為 0 的時候,結束,然後將餘數反向組合輸出,及為我們所求的 2 進制數。有的同學會問,我怎麼就能這麼確定這就是 13 對應的 2 進制數呢?

答曰:

由於二進制的特殊性,數字從右邊往左邊數,依次對應 20 x 1 + 21 x 0 + 22x 1 + 23 x 1 = 1 +4 +8 = 13, 給大家一個速記口訣,1,2,4,8,16,32,64,128,256,512,1024。分別是 20~ 210對應的值

所以有了思路,我們就可以愉快的敲代碼了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

num, reminder = divmod(num,2) # 短除法,對2求,分別得到除數 和 餘數、這是 Python 的特有的一個內置方法,分別可以到商 及 餘數

l.append(str(reminder)) # 把獲得的餘數 存入字符串

if num == 0: # 對應了前面的話,當商為 0時,就結束啦

return “”.join(l[::-1]) # 對列表中的字符串進行逆序拼接,得到一個二進制字符串

3.2 十進制轉八進制

理解了二進制的轉換,八進制一樣不難。同樣是目標數 num對八 求商,留餘數,照這個思路走。檢驗的時候,一樣,把 2n把2 替換成 8即可。

看代碼:

和 二進制 的基本沒啥卻別

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

3.3 十進制轉十六進制

前面說過,十六進制相比二進制,八進制會複雜一點,但是方法是一樣的

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

最後看一下運行結果,是不是很方便呢?當然 Python 有內置的方法,比如我們直接輸入 十進制數,通過 bin(n) 轉為二進制,oct(n) 轉為 八進制,hex(n) 轉為十六進制。但是原理了解以下還是很有必要的,你說是不是呢?

"

前言

Python 實現進制轉換

一、導言

導語:

在計算機進行數據交換時,常常會有一個進制轉換的過程,我們知道計算機只認0 和 1.在內存系統中,基本基於二進制進行運算的,但是有時候數據過於龐大,為了方便存儲管理,計算機會使用十六進制存儲數據,但是怎麼實現數據轉換呢?

我們人類由十根手指頭,所以自然就使用十進制啦,每當我們數數字到10之後,於是就重0 開始繼續數,所以逢十進一就這麼來了。

對於其它進制呢,也是同樣的,比如最常見的二進制,也就是逢二進一,慢慢來,依次類推,所以數學的世界是多麼的奇妙呀!

今天給大家帶來的是使用 Python 實現進制轉換,內容包括如下:

dec(十進制)—> bin(二進制)

dec(十進制)—> oct(八進制)

dec(十進制)—> hex(十六進制)

二、各種進制介紹

在轉換之前,我們先了解以下各種進制

十進制(Decimal)

我們所熟知的十進制,其實是從 0 開始,數到 9 之後,就跳到 10,這樣就變成了 10,數數大家總會把

二進制(Binary)

二進制同理,從 0 開始也就是 00(前面的一個0可以省去,但是為了更好的描述,所以保留),到 01,也變成了 10【對應十進制中的 3】,然後是 11【對應十進制中的 4】,100【十進制中的5】。。。以此類推

因為 二進制 的英文單詞是 binary,所以在計算機運算的過程中,使用二進制會用如下方法,0b11(4),0b1101(13)等等

八進制(Octal)

理解了二進制,在理解八進制就很容易了,八進制是逢八進一,範圍是 0~7,對比一下二進制,就很好理解啦!!

十六進制(Hexadecimal)

十六進制就可能會相對複雜一點點,十六進制是用數字 0~9 和 英文字母 A - F(大小寫隨意) 表示,因此 A代表 10, F代表 15。為什麼在計算機領域中,十六進制用途會如此廣泛呢?

給大家看一個對比:

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

當數據比較大的時候,二進制顯然不再那麼使用,再看使用十六進制,就簡短很多。

十六進制的運用領域可不止如此,比如原畫師調色的時候,如果使用 RGB 三原色的話,那就會有 256 x 256 x 256 種組合,我們就可以使用十六進制,把每一種顏色對比轉換成 十六進制字符,就會方便很多,以下是我之前調色的時候寫的一個很簡單一個 C 語言小程序,呃,似乎有點跑題了,哈哈,不管了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

三、使用 Python 代碼完成轉換

3.1 十進制轉換為二進制

我記得不太清楚是啥時候第一次學進制轉換的,進制轉換常用的方法就是對 2 取餘數,然後得到餘數反轉連在一起就是 我們所需要的二進制,舉個例子,比如我要計算 十進制數 13 的 二進制是多少?

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

這也是老師教我們的方法,也是我們第一次接觸進制轉換的時候,用目標數 num 對 2求 餘數,直到 商為 0 的時候,結束,然後將餘數反向組合輸出,及為我們所求的 2 進制數。有的同學會問,我怎麼就能這麼確定這就是 13 對應的 2 進制數呢?

答曰:

由於二進制的特殊性,數字從右邊往左邊數,依次對應 20 x 1 + 21 x 0 + 22x 1 + 23 x 1 = 1 +4 +8 = 13, 給大家一個速記口訣,1,2,4,8,16,32,64,128,256,512,1024。分別是 20~ 210對應的值

所以有了思路,我們就可以愉快的敲代碼了

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

num, reminder = divmod(num,2) # 短除法,對2求,分別得到除數 和 餘數、這是 Python 的特有的一個內置方法,分別可以到商 及 餘數

l.append(str(reminder)) # 把獲得的餘數 存入字符串

if num == 0: # 對應了前面的話,當商為 0時,就結束啦

return “”.join(l[::-1]) # 對列表中的字符串進行逆序拼接,得到一個二進制字符串

3.2 十進制轉八進制

理解了二進制的轉換,八進制一樣不難。同樣是目標數 num對八 求商,留餘數,照這個思路走。檢驗的時候,一樣,把 2n把2 替換成 8即可。

看代碼:

和 二進制 的基本沒啥卻別

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

3.3 十進制轉十六進制

前面說過,十六進制相比二進制,八進制會複雜一點,但是方法是一樣的

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

最後看一下運行結果,是不是很方便呢?當然 Python 有內置的方法,比如我們直接輸入 十進制數,通過 bin(n) 轉為二進制,oct(n) 轉為 八進制,hex(n) 轉為十六進制。但是原理了解以下還是很有必要的,你說是不是呢?

用Python實現進制轉換,這一篇教程就夠了!這也太完美了

好啦,今天的Python學習教程內容講到這,你學會了嘛?

最後多說一句,小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習等。想要這些資料的可以關注小編,並在後臺私信小編:“01”即可領取。

"

相關推薦

推薦中...