回覆列表
  • 1 # 使用者9102614469932

    進位制概述

    人類因為有十指,所以選擇了十進位制。一般情況下,你所看到的數字都是十進位制的。但是,數值是絕對的,你其實可以透過不同的進製表示同一個數值。比如要表示“三個蘋果”的數量,十進位制表示就是 3,二進位制表示就是 11。

    用 N 進位制計數時,需要“滿 N 進一”。比如用十進位制計數,“9+1”的結果達到數量十,需要把個位歸零、十位進一,結果就是“10”。從這個規律來看,N 進位制只需要使用 N 種不同的數字符號,因為每一位達到 N 就進位了。比如十進位制使用了“0”“1”……“9”這十種數字符號,而二進位制只需要使用“0”“1”這兩種數字符號。至於十六進位制則使用 “0”“1”……“9” 和 “A”“B”……“F” 這十六種數字符號,其中前十個是借用了已廣泛使用的十個阿拉伯數字符號,後六個則借用自英文字母表。

    既然在 N 進位制當中總是會“滿 N 進一”,那麼用 N 進製表示 N 這個數值時總是會記為“10”。比如十進位制表示十、二進位制表示二、十六進位制表示十六,都是“10”。有個笑話說“世界上只有 10 種人,一種理解二進位制,另一種不理解二進位制”,現在來看,你也可以這麼說:“世界上只有 10 種人,一種聽懂了這個笑話,一種沒有聽懂,還有一種沒聽過這個笑話”。

    接下來著重講一下二進位制,因為另一種與我們生活關聯緊密的東西喜歡這種進位制——就是計算機。在計算機中,幾乎所有資料都是使用二進位制儲存、運算的。計算機會選擇二進位制,和人類會選擇十進位制的理由差不多,就是因為方便。計算機可以使用高低電平表示兩種不同的狀態,將這兩種狀態用來表示二進位制中的“0”和“1”,這樣計算機就可以儲存和處理數值了。

    但是人類是使用十進位制的呀!所以人與計算機打交道時,就要學會在十進位制和二進位制之間做轉換——最起碼計算機工程師需要。

    進位制轉換

    在 N 進位制當中總是會“滿 N 進一”,反過來說在 N 進位制數值當中第二位(從右往左數,下同)上每增加了 1,數值大小實際上增加了 N。比如十進位制 15 的第二位增加 1 就成了 25,比原先數值增加了十。也就是說,N 進位制的第二位是幾,數值上就是代表幾個 N 的意思。同理,第三位、第四位、……第 M 位分別在數值上代表幾個 、 、…… 的意思。所以你可以這樣看待十進位制的 1024(凡是沒有特別標明的數值都是十進位制的,下同):

    同樣的道理,在二進位制中的 1101 可以理解為:

    這就是將二進位制轉換為十進位制的方法。反之,將十進位制轉換為二進位制,只需要不斷的除以 2,直到結果為 0 為止,然後將所有的餘數從右往左連起來就是二進位制了。下面就以十進位制 13 為例,將其轉換為二進位制:

    (第一位)

    (第二位)

    (第三位)

    (第四位)

    所以十進位制 13 對應的二進位制是 1101。

    進階技巧

    再說一種將十進位制轉化為二進位制的快速方法,這個方法要求熟記常見的 的值才行(1,2,4,8,16,32,64,128,256,512,……)。以十進位制 396 為例,先找到不大於 396 的最大的 的值,也就是 256,然後按以下辦法從左往右依次寫下 1 或 0:

    因為 396 > 256,記 1,並且差為 140;

    因為 140 > 128,記 1,並且差為 12;

    因為 12 < 64,記 0;

    因為 12 < 32,記 0;

    因為 12 < 16,記 0;

    因為 12 > 8,記 1,並且差為 4;

    因為 4 = 4,記 1,已經沒有差值了,接下來的位全部記 0;

    因為 0 < 2,記 0;

    因為 0 < 1,記 0。

    所以十進位制 396 對應的二進位制值為 110001100。

  • 中秋節和大豐收的關聯?
  • 讀三峽原文及賞析?