現在,我們都知道如何數數。但是你能用二進制或十六進制來計數嗎?不同數系的加減乘除怎么樣?
我們理所當然地認為我們使用的是以10為基數的(十進制)數字系統,除非我們遇到不同的數字系統(如二進制或十六進制),否則我們可能甚至不會意識到除了以10為基數之外的任何數字系統甚至是存在的或可能的。然而,事實是,在我們的口語數字系統中,以10為基數的使用是完全任意的,可能僅僅是因為我們有10個手指(用于計數),其他數字系統也同樣有效。如果我們有12個手指,那么我們可能都使用12進制的數字系統。
基數10(或基數10)意味著每個數字有10個可能的值:
0,1,2,3,4,5,6,7,8,9一旦我們用完了一個數字的可能值,我們就添加另一個數字:

等等。。
再說一次,我們認為所有這些都是理所當然的,因為我們從很小的時候就已經學會了。然而,一旦我們理解了這是如何工作的基本機制,那么其他的數字系統也是同樣合理和有效的就變得很清楚了。
二進制的
計算機內部的開關(晶體管)只能有兩種狀態:開或關。這意味著在計算機世界(0,1)中每個數字只有2個可能的值,因此計算機需要使用基數為2的(二進制)數字系統。當以二進制計數時,同樣的規則也適用–一旦我們用完了一個數字的可能值,我們就添加另一個數字:

這里有一個快速的對比來幫助澄清:

十六進制的
十六進制使用基數16,這意味著每個數字有16個可能的值:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F以下是這三者的對比,有助于澄清:

十六進制在計算機世界中很流行,因為它可以方便地與計算機處理的二進制一起翻譯。每個十六進制數字轉換成4個二進制數字:

前綴
計算機內部一般也是8位的倍數(8位= 1字節),所以每個字節可以方便地用2個十六進制數字表示。對于工程師來說,這比長的二進制數字序列更容易處理,但是計算機內部仍然是以2為基數的二進制數字系統。在編程語言中,數字系統的類型通常用前綴來標識,例如在C編程語言中:

請注意,前導零不是強制性的(0b00000001等同于0b1,0x01等同于0x1),但它們通常用于提高上下文的可讀性。
總之,一旦理解了數制原理,不同的數制就很容易理解了。你可能會爭辯說十進制比二進制好,因為表示任何特定的數需要更少的數字,但是照此推理,十六進制會比十進制好。事實是,我們喜歡十進制只是因為這是我們所習慣的,也是其他人所習慣的。
審核編輯:黃飛
-
二進制
+關注
關注
2文章
805瀏覽量
42245 -
計算機
+關注
關注
19文章
7643瀏覽量
90481 -
晶體管
+關注
關注
77文章
10004瀏覽量
141183 -
十進制
+關注
關注
0文章
67瀏覽量
13519 -
數字系統
+關注
關注
0文章
150瀏覽量
21186
發布評論請先 登錄
十六進制和八進制轉換原理
十進制和二進制之間的轉換

十六進制和八進制

8421bcd碼轉換二進制

二進制與十進制數對照顯示實驗,十進制,二進制對照
二進制如何轉換為十進制?
51單片機(匯編語言)實現十進制轉十六進制

labview數值轉化:二進制,8進制,16進制,10進制

評論