- 计算机应用基础教程(Windows 7+Office 2010)(第三版)
- 刘红冰主编
- 1500字
- 2021-03-31 06:45:29
1.3 计算机中信息的编码
1.3.1 计算机中常用的数制及其转换
计算机是采用数制来存储或表示数据的。数制,即进位计数制,是人们利用数字符号按进位原则进行数据大小计算的方法。通常是以十进制来进行计算的。另外,还有二进制、八进制和十六进制等。
人类在日常生活中常用十进制来表述事物的量,即逢10进1,实际上这并非天经地义,只不过是人们的习惯而已,生活中也常常遇到其他进制,如六十进制:(每分钟为60秒,每小时60分钟,即逢60进1,十二进制,(计量单位“一打”)等。
在计算机领域,最常用到的是二进制,这是因为计算机是由千千万万个电子元件(如电容器、电感器、晶体管等)组成,这些电子元件一般都是只有两种稳定的工作状态(如晶体管的截止和导通),用高、低两个电位表示“1”和“0”在物理上是最容易实现。
二进制的书写一般比较长,而且容易出错。因此除了二进制外,为了便于书写,计算机中还常常用到八进制和十六进制。一般用户与计算机打交道并不直接使用二进制数,而是十进制数(或八进制、十六进制数),然后由计算机自动转换为二进制数。但对于使用计算机的人员来说,了解不同进制数的特点及它们之间的转换是必要的。
1.进位计数制
(1)计数符号
每一种进制都有固定数目的计数符号。
十进制:有10个记数符号,0、1、2、…、9,逢十进一。
二进制:有2个记数符号,0和1,逢二进一。
八进制:有8个记数符号,0、1、2、…、7,逢八进一。
十六进制:有16个记数符号,0~9,以及A~F,其中A~F分别对应十进制的10~15,逢十六进一。
(2)权值
在任何进制中,一个数的每个位置都有一个权值。比如十进制数34958的值为:
(34958)10=3×104+4×103+9×102+5×101+8×100。
从右向左,每一位对应的权值分别为100,101,102,103,104。
不同的进制由于其进位的基数不同,其权值也是不同的。比如二进制数100101,其值应为:
(100101)2=1×25+0×24+0×23+1×22+0×21+1×20。
从右向左,每个位对应的权值分别为20,21,22,23,24,25。
2.不同数制的相互转换
(1)二、八、十六进制数转换为十进制数
按权展开求和,即将每位数码乘以各自的权值并累加。
例1-1:(1001.1)2=1×23+0×22+0×21+1×20+1×2-1
=8+1+0.5
=(9.5)10
(345.73)8=3×82+4×81+5×80+7×8-1+3×8-2
=192+32+5+0.875+0.046875
=(229.921875)10
(A3B.E5)16=10×162+3×16'+11×160+14×16-1+5×16-2
=2560+48+11+0.875+0.01953125
=(2619.89453125)10
(2)十进制数转换为二、八、十六进制数
整数部分和小数部分须分别遵守不同的转换规则。假设将十进制数转换为R进制数:
整数部分:除以R取余法,即整数部分不断除以R取余数,直到商为0为止,最先得到的余数为最低位,最后得到的余数为最高位。
小数部分:乘R取整法,即小数部分不断乘以R取整数,直到积为0或达到有效精度为止,最先得到的整数为最高位(最靠近小数点),最后得到的整数为最低位。
例1-2:将(75.453)10转换成二进制数(取4位小数)。
得(75.453)10=(1001011.0111)2
例1-3:将(152.32)10转换成八进制数(取3位小数)。
得(152.32)10=(230.243)8
例1-4:将(237.45)10转换成十六进制数(取3位小数)。
得(237.45)10=(ED.733)16
(3)二进制数转换为八、十六进制数
因为23=8,24=16,所以3位二进制数对应1位八进制数,4位二进制数对应1位十六进制数。二进制数转换为八、十六进制数比转换为十进制数容易得多,因此常用八、十六进制数来表示二进制数。表1-1列出了它们之间的对应关系。
将二进制数以小数点为中心分别向两边分组,转换成八(或十六)进制数,每3(或4)位为一组,不够位数在两边加0补足,然后将每组二进制数化成八(或十六)进制数即可。
表1-1 二进制数、八进制数和十六进制数之间的对应关系
例1-5:将二进制数1001101101.11001分别转换为八、十六进制数。
(4)八、十六进制转换为二进制
将每位八(或十六)进制数展开为3(或4)位二进制数,不够位数在左边加0补足。
注意:整数前的高位零和小数后的低位零可以取消。