目錄:
一、引言
二、進制簡介
三、二進制和十六進制的轉換
四、其他
一、引言
對於進制,我們都很熟悉,生活中比如時間,每60秒鍾進一分鍾,每60分鍾進一小時,每12個月進一年等;比如在數學里,10進制用得最多;計算機里常用的就是二進制、八進制和十六進制,其中最常用的又非二進制和十六進制莫屬了,下面我們一起來學習一下計算機的進制是怎么一回事。
二、進制簡介
1、二進制
(1)二進制簡介
提到計算機進制,就不得不說二進制,二進制是計算技術中廣泛采用的一種數制。
二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是“逢二進一”,借位規則是“借一當二”,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進制系統,數據在計算機中主要是以補碼的形式存儲的。
計算機中的二進制則是一個非常微小的開關,用“開”來表示1,“關”來表示0。
二進制英文是Binary,簡寫為B。
說到二進制,就不得不提到ASCII表,全稱 American Standard Code for Information Interchange(即美國信息交換標准代碼),是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐。它是現今最通用的系統,並等同於國際標准ISO/IEC 646。具體內容如下圖(圖片來源於百度百科):
(2)二進制表示方法
十進制 0 1 2 3 4 5 6 7 8 9
二進制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
2、八進制
(1)八進制簡介
八進制,Octal,縮寫OCT或O,一種以8為基數的計數法,采用0,1,2,3,4,5,6,7八個數字,逢八進1。一些編程語言中常常以數字0開始表明該數字是八進制。八進制的數和二進制數可以按位對應(八進制一位對應二進制三位),因此常應用在計算機語言中。
由於十六進制一位可以對應4位二進制數字,用十六進制來表示二進制較為方便。因此,八進制的應用不如十六進制。有一些程序設計語言提供了使用八進制符號來表示數字的能力,而且還是有一些比較古老的Unix應用在使用八進制。
八進制英文是Octal,簡寫為O。
(2)八進制表示方法
二進制 八進制 001 1 010 2 100 4 111 7
1000 10
3、十六進制
(1)十六進制簡介
十六進制(簡寫為hex或下標16)在數學中是一種逢16進1的進位制。一般用數字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,這些稱作十六進制數字。如今的16進制則普遍應用在計算機領域,這是因為將4個位元(Bit)化成單獨的16進制數字不太困難。1字節可以表示成2個連續的16進制數字。本質上,十六進制也是二進制,但是是二進制的一種優化,在表示和閱讀上較二進制方便許多。
十六進制英文為Hexadecimal,簡寫為H。
(2)十六進制表示方法
二進制 十六進制
0000 0001 1
0000 1000 8
0001 1100 1C
1000 1111 8F
三、二進制和十六進制的轉換
1、十六機制與十進制的對應關系:
十進制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
十六進制 0 1 2 3 4 5 6 7 8 9 A B C D E F
2、十六進制與二進制的對應關系:
十六進制 0 1 2 3 4 5 6 7 8 9 A B C D E F
二進制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
更直觀的對應關系,見下圖所示:
3、二進制轉十六進制的方法
方法為“ 取四合一法 ”,即從二進制的小數點為分界點,向左(或向右)每四位取成一位。
比如:
每四個二進制位看成一個十六進制位 ,如下:
二進制 1010 1000 1100.1000
十六進制 A 8 C 8
則此二進制數轉成十六進制的表示:A8C8
這里需要注意的是,在向左(或向右)取四位時,取到最高位(最低位)如果無法湊足四位,就可以在小數點的最左邊(或最右邊)補0,再進行換算。
每四個二進制位看成一個十六進制位 ,如下:
二進制 10 1000 1100.10 --> 0010 1000 1100.1000
十六進制 2 8 C 8
則此二進制數轉成十六進制的表示:28C8
十六進制的表示法,用字母 H 后綴表示,比如BH就表示十六進制數11;也可以用0X前綴表示,比如0X23就是16進制的23,以此類推。
十六進制前綴表示法( 0x ):0x23 對應16進制的 23
十六進制后綴表示法( H ):AH 對應16進制的 A
4、十六進制轉二進制的方法
此時,轉換方法反過來了,變成了" 一分四法 ",即一個十六進制數分成四個二進制數,用四位二進制按權相加,最后得到二進制,小數點位置不變。
十六進制 A2.B3
十六進制 二進制
A 1010
2 0010
. .
B 1011
3 0011
最后合在一起:1010 0010.1011 0011
四、其他
參考文章:https://jingyan.baidu.com/article/47a29f24292608c0142399cb.html