是人為定義的帶進位的計數方法。
對於任何一種進位制---X進位制,就表示某一位置上的數運算時是逢X進一位。十進位制是逢十進一,十六進位制是逢十六進一,二進位制就是逢二進一,以此類推,x進位制就是逢x進位。
進位制/位置計數法是一種記數方式,故亦稱進位記數法/位值計數法,可以用有限的數字符號代表所有的數值。可使用數字符號的數目稱為基數(en:radix)或底數,基數為n,即可稱n進位制,簡稱n進位制。現在最常用的是十進位制,通常使用10個阿拉伯數字0-9進行記數。
對於任何一個數,我們可以用不同的.進位制來表示。比如:十進數57(10),可以用二進位制表示為111001(2),也可以用五進製表示為212(5),也可以用八進位制表示為71(8)、用十六進位制表示為39(16),它們所代表的數值都是一樣的。
數制也稱計數制,是指用一組固定的符號和統一的規則來表示數值的方法。計算機是資訊處理的工具,任何資訊必須轉換成二進位制形式資料後才能由計算機進行處理,儲存和傳輸。
進位制是學習計算機語言最基本的知識,所以一定要掌握。其實它很簡單,我們日常生活中有很多進位制的例子,例如:
一分鐘六十秒,逢六十進一,就是六十進位制;
一天二十四小時,逢二十四進一,就是二十四進位制;
一星期七天,逢七進一,就是七進位制;
一年十二個月,逢十二進一,就是十二進位制;
國小數學是逢十進一,就是十進位制;
而計算機中的資料只有 0 和 1,逢二進一,就是二進位制。
所以進位制就是逢幾進一,r 進位制就是逢 r 進一。計算機只能識別二進位制,人類最習慣使用的是十進位制,而為了實際需要,又建立了八進位制和十六進位制。八進位制就是逢八進一,十六進位制就是逢十六進一。
C語言中規定了八進位制數前面要加0(注意是數字零而不是字母 o),十六進位制數前面要加0x或0X,而十進位制前面什麼都不加。這是為什麼呢?
比如 5,到底是十進位制、八進位制還是十六進位制?什麼都不加就預設是十進位制。如果希望 5 是八進位制,那麼前面就加上 0;如果希望 5 是十六進位制,那麼前面就加上 0x 或 0X。
十進位制為逢十進一,它只有 0、1、2、3、4、5、6、7、8、9 這十個基數。逢十進一的意思就是:9 再加 1 就變為 10,即向十位進了一位,原來個位迴歸 0。
二進位制為逢二進一,它只有 0 和 1 兩個基數。逢二進一的意思就是:
1 再加 1 就變成 10,即向前進了一位,原來的 1 變成 0;
再加 1 就是 11;
再加 1 又逢二,再往前進一位,進一位後第二個 1 又逢二再進位,就是 100 了;
再加 1 變成 101,再加 1 變成 110,再加 1 變成 111,再加 1 變成 1000……
那麼十進位制的 5 和二進位制的 101 代表的是不是同一個數字?答案是“是”,它們本質上是同一個數字。
無論是十進位制、二進位制、八進位制還是十六進位制,都只是計數的一種方式,只不過它們用的是不同的進位制,所以表現形式不一樣,但本質上都是同一個數字。理解了上面內容,後面很多知識就很容易理解了。
八進位制就是逢八進一,它只有 0、1、2、3、4、5、6、7 這八個基數。
由上可以總結出,r 進位制有 r 個基數,而且基數裡面最大的是 r–1,因為基數都是從 0 開始的。比如五進制中,基數最大的是 4,基數分別為 0、1、2、3、4。
十六進位制肯定有十六個基數。它的`基數除了十進位制的 0~9 之外,還有字母 A~F,總共加起來是十六個。注意,字母不區分大小寫。十六進位制是逢十六進一,F 是十五,加 1 就變成十六了,逢十六就進一,即 0x10。
下面是常用進位制對照表,大家可以看一下。
人類為什麼最習慣用十進位制
人類為什麼最習慣用逢十進一的十進位制?對於世界上大部分的國家,即便之前因為交通不發達,他們彼此之間並不知道在世界的某一個角落還有另一個民族的存在,但是他們使用的都是十進位制!這是為什麼?
原因很簡單,就是因為我們都有十個手指!進位制的起源是用於記數的,人類剛開始都是用手指計數的。即使是現在的小朋友算數也還是喜歡用手指,所以人類最習慣用十進位制。
計算機為什麼用的是二進位制
那麼為什麼計算機使用的是二進位制呢?
因為二進位制從硬體上比較容易實現。任何事物最少也有兩種不同的狀態,所以區分成兩種狀態比較容易。但是要將一個硬體硬生生地區分成十種不同的狀態,這個就太難、太複雜了。
進位制是學習計算機必須要掌握的內容,也是一個重點。
掌握進位制的概念,區分八進位制數、十進位制數和十六進位制數的表示方法。注意八進位制數是以0開頭,十六進位制數是以0x或0X開頭,以及瞭解其原因。
掌握進位制只是數字的不同表現形式,它們本質上表示的是同一個數。
瞭解為什麼人類習慣使用十進位制而計算機使用的卻是二進位制。