摘要:數(shù)制也稱計數(shù)制,是用一組固定的符號和統(tǒng)一的規(guī)則來表示數(shù)值的方法。在數(shù)制計算中,一般采用的是進位計數(shù),按照進位的規(guī)則進行計數(shù)的數(shù)制稱為進位計數(shù)制。在日常教學中我們通常用到不同計數(shù)制相互之間的數(shù)據(jù)轉(zhuǎn)換,不同數(shù)制之間的相關轉(zhuǎn)換對中職學生來說學習起來比較困難。本文從教學的角度對不同數(shù)制之間的相關轉(zhuǎn)換做了舉例說明,便于學生掌握不同數(shù)制之間的數(shù)據(jù)轉(zhuǎn)換。
關鍵詞:數(shù)制轉(zhuǎn)換;二進制;八進制;十六進制
中圖分類號:TP311文獻標識碼:A
文章編號:1009-3044(2020)19-0206-03
開放科學(資源服務)標識碼(OSID):
數(shù)制也稱計數(shù)制,是用一組固定的符號和統(tǒng)一的規(guī)則來表示數(shù)值的方法。任何一個數(shù)制都包含兩個基本要素:基數(shù)和位權(quán)。
我們?nèi)粘I钪谐S玫挠嫈?shù)方法是十進制,十進制的進位法則是:“逢十進位,向前進一。”像這樣按進位的法則進行計數(shù)的方法就叫作進位計數(shù)制?!斑M位計數(shù)制”簡稱為“數(shù)制”或“進制”。由此我們可以推斷出,每一種數(shù)制的進位都遵循一個規(guī)則,那就是逢N進一。這里的N叫作基數(shù)。所謂“基數(shù)”,就是數(shù)制中表示數(shù)值所需要的數(shù)字字符的總數(shù),比如,十進制中用0、1、2、3...9來表示數(shù)值,一共有10個不同的字符。二進制中用0、1來表示數(shù)值,一共2個字符。十六進制中0-9、A、B、C、D、E、F,一共有16個不同的字符。為了區(qū)別不同的進制數(shù),常在不同進制數(shù)字后加一字母表示:十進制D(Decimal)、二進制B(Binary)、八進制O(Octal)十六進制H( Hexadecimal)。
我們來看下面的例子:
問題:十進制數(shù)9999.999,這其中的7個9代表的含義一樣嗎,有什么不同?
從左向右,第-9表示9000,第二個9表示900,第三個9表示90,第四個9表示9;小數(shù)點之后的第一個9表示0.9,第二個9表示0.09,第三9表示0.009。
9999.999=9x1000+9x100+9x10+9+9x0.1+9x0.01+9x0.001
1000=103. 100=102, 10=10l, 1=100, 0.1=10-10.01=10-2
0.001=10-3。這就叫位權(quán),也就是基數(shù)的若干次冪。例如,我們可以把9999.999表示成:
9999.9999=9X103+9X102+9X101+9x100+9x10-1+9X10-2+9X10-3
這種表示法就叫按權(quán)相加法。也就是讓每一位上的數(shù)字字符乘以它所代表的權(quán)。
1 數(shù)制的轉(zhuǎn)換
計算機在進行數(shù)據(jù)處理時首先把輸入的十進制數(shù)轉(zhuǎn)成計算機所能接受的二進制數(shù);計算機運行結(jié)束后,再把二進制數(shù)轉(zhuǎn)換成人們所習慣的十進制數(shù)輸出。這種將數(shù)由一種數(shù)制轉(zhuǎn)換成另一種數(shù)制稱為數(shù)制間的轉(zhuǎn)換。
十進制數(shù)轉(zhuǎn)二、八、十六進制數(shù)的方法如下表:
1.1十進制數(shù)與二進制數(shù)之間的相互轉(zhuǎn)換。
例如:把十進制數(shù)35.625轉(zhuǎn)換成二進制數(shù)?
【1)十進制整數(shù)轉(zhuǎn)二進制整數(shù)數(shù)
十進制整數(shù)轉(zhuǎn)二進制整數(shù)采用“除2取余,逆序排列”法。
具體做法:用2去除十進制整數(shù),可以得到一個商和余數(shù);再用2去除商,又會得到一個商和余數(shù),如此進行,直到商為零時止,然后把所有余數(shù)按逆序依次排列。
(2)十進制小數(shù)轉(zhuǎn)二進制小數(shù)。
十進制小數(shù)數(shù)轉(zhuǎn)二進制小數(shù)采用“乘2取整,順序排列”法。
具體的做法:用2乘以十進制小數(shù),可以得到積,將積的整數(shù)部分取出,再用2乘以余下的小數(shù)部分,又會得到一個積,再將積的整數(shù)部分取出,如此進行,直到積中小數(shù)部分為零,或者達到所要求的精度為止,然后把取出的整數(shù)部分按順序排列起來,先取的整數(shù)作為二進制小數(shù)的高位有效位,后取的整數(shù)作為二進制數(shù)的低位有效位。
35.625D=(IOOOII.IOI)B
(3)_進制數(shù)轉(zhuǎn)十進制數(shù)。
二進制數(shù)轉(zhuǎn)十進制數(shù)采用“按權(quán)相加法”。
例3:1IOI.10IB=()D
1101.101B=1x23+1x22+0x21+1x20+1x2-1+0x2-2+1x2-3
=8+4+0+1+0.5+0+0.125
=13.625D
1101.10IB=(13.625)D
1.2十進制整數(shù)與八進制數(shù)之間的轉(zhuǎn)換。
八進制數(shù)的一共有0、1、2、3、4、5、6、7八個字符。同理,我們可以采取“除8取余,逆序排列”法,將十進制整數(shù)轉(zhuǎn)換成八進制整數(shù)。
同理:對于要轉(zhuǎn)換的十進制數(shù)的小數(shù)部分,則應不斷地乘以8,并記下其整數(shù)部分,直到結(jié)果的小數(shù)部分為零或達到需要的精度為止。
例5:0.635D=(0.5050)0
0.635x8=5.08 -5
0.08x8=0.64 -0
0.64x8=5.12 -5
0.12x8=0.96 ……O(后續(xù)省略)
例6:(2157)0=()D
( 2157) 0=2x83+ 1x82+5x81+7x80=1024+64+40+7=1135D
1.3十進制數(shù)轉(zhuǎn)與十六進制數(shù)之間的相互轉(zhuǎn)換。
十六進制中0-9、A、B、C、D、E、F,一共有16個不同的字符,其中A、B、C、D、E、F分別代表十進制的10、11、12、13、14、15。同理,我們也可以采取“除16取余,逆序排列”法,將十進制整數(shù)轉(zhuǎn)換成十六進制整數(shù)。
例8:(46F.1)H=()D
46FH= 4x162+6x161+Fx160+lx16-1
=4x256+6x16+15x1+0.0625
=1024+96+15+0.0625
=1135.0625D
同理:對于要轉(zhuǎn)換的十進制數(shù)的小數(shù)部分,則應不斷地乘以16,并記下其整數(shù)部分,直到結(jié)果的小數(shù)部分為零或達到需要的精度為止。
1.4二進制數(shù)與八進制數(shù)之間的相互轉(zhuǎn)換
方法:以小數(shù)點為界,向左右每3位一組,在高位和低位不足3為時用0補齊。
例9:1110101.111B=( )0
二進制:001
110 101. 111
八進制:1 6 5.
7
1110101.10IB=(165.7)0
例10: (144)O=()B
( 144)0=(001100 100)B
1
4 4
1.5二進制數(shù)與十六進制數(shù)之間的相互轉(zhuǎn)換
方法:以小數(shù)點為界,向左右每4位一組,在高位和低位不足4位時用0補齊。
例11: 110110lOI.111B=( )H
二進制:0001 1011
0101. 1110
十六進制:1 8
5. E
110101.101B=( IB5.E )H
例12:AF2BH=()B
AF2BH=( 1010 1111 0002 1011)B
AF
2 B
2 結(jié)束語
十進制轉(zhuǎn)N進制,整數(shù)部分采用“除N取余,逆序排列?!狈ǎ?shù)部分采用“乘N取整,順序排列”。數(shù)制之間的相關轉(zhuǎn)換,重點和難點是掌握十進制與二進制、八進制、十六進制之間的相互轉(zhuǎn),不同數(shù)制之間的相互轉(zhuǎn)換是計算機專業(yè)的學生必須掌握的基礎知識。
除了掌握以上的數(shù)制轉(zhuǎn)換方法,還可以嘗試學習另外的一種數(shù)制轉(zhuǎn)換方法“降冪法”。
【通聯(lián)編輯:梁書】
作者簡介:杜雙敏(1981-),女,河南鄢陵人,講師。