
实训任务二 进制转换计算
实训目的与要求
①了解常用数制。
②能够独立计算数制之间的转换。
实训内容
①十进制转换成二进制算法。
②二进制数转换成十进制数。
操作要点
1.常用数制(教师黑板计算演练)
(1)十进制数
在日常生活中,人们常用十进制计数,数字符号为0、1、…、9,基数为10,“逢十进一”。例如,十进制数123.45的位权表示为
123.45=1×102+2×101+3×100+4×10-1+5×10-2
(2)二进制数
计算机中采用二进制计数,它用0表示断,1表示通,容易实现,其特点是“逢二进一”。例如,二进制数1101.11的位权表示为
(1101.11)2=1×23+1×22+0×21+1×20+1×2-1+1×2-2
二进制数的位数较多,为了使用方便,常采用八进制数或十六进制数来表示。
(3)八进制数
八进制数采用0~7共8个数字符号,按“逢八进一”规则进行计数。例如:
(345.64)8=3×82+4×81+5×80+6×8-1+4×8-2
(4)十六进制数
十六进制数采用0~9、A~F共16个符号表示,其中符号A、B、C、D、E、F分别代表十进制数值10、11、12、13、14、15,按“逢十六进一”的进位原则计数。例如:
(2AB.6)16=2×162+10×161+11×160+6×16-1
不同数制之间可以相互转换,应当正确掌握数制之间的转换方法。
2.数制间的转换
(1)十进制数转换成二进制数
十进制数转换成二进制数的方法:整数部分采用除2取余法,即反复除以2直到商为0,取余数;小数部分采用乘2取整法,即反复乘以2取整数,直到小数为0或取到足够二进制位数。
例如,将十进制数23.375转换成二进制数,其过程如下:
①先转换整数部分:

转换结果:(23)10=(10111)2
②再转换小数部分:

转换结果:(0.375)10=(0.011)2
最后结果:(23.375)10=(10111.011)2
如果一个十进制小数不能完全准确地转换成二进制小数,可以根据精度要求转换到小数点后某一位停止。例如,0.85取4位二进制小数为0.1101。
(2)二进制数转换成十进制数
二进制数转换成十进制数的方法:按权相加法,把每一位二进制数所在的权值相加,得到对应的十进制数。各位上的权值是基数2的若干次幂。例如:
(1010.01)2=1×23+0×22+1×21+0×20+0×2-1+1×2-2=(10.25)10
(3)二进制数与八进制数、十六进制数的相互转换
每1位八进制数对应3位二进制数,每1位十六进制数对应4位二进制数,这样大大缩短了二进制数的位数。
二进制数转换成八进制数的方法:以小数点为基准,整数部分从右至左,每3位一组,最高位不足3位时,前面补0;小数部分从左至右,每3位一组,不足3位时,后面补0,每组对应一位八进制数。
例如,二进制数(10101.11)2转换成八进制数为

即(10101.11)2=(25.6)8
八进制数转换成二进制数的方法:把每位八进制数写成对应的3位二进制数。
例如,八进制数(36.5)8转换成二进制数为

即(36.5)8=(11110.101)2
同理,二进制数(10101.11)2转换成十六进制数为

即(10101.11)2=(15.C)16
十六进制数转换成二进制数的方法是:把每位十六进制数写成对应的4位二进制数。
例如,十六进制数(3E.5)16转换成二进制数为

即(3E.5)16=(111110.0101)2
(4)八、十六进制数与十进制数的相互转换
八进制、十六进制数转换成十进制数,也是采用“按权相加”法。例如:
(345.64)8=3×82+4×81+5×80+6×8-1+4×8-2=(229.8125)10
(2AB.68)16=2×162+10×161+11×160+6×16-1+8×16-2=(683.40625)10
十进制整数转换成八进制、十六进制数,采用除8、16取余法。十进制数小数转换成八进制、十六进制小数采用乘8、16取整法。
3.数据单位
计算机中采用二进制数来存储数据信息,常用的数据单位有以下几种:
(1)位(bit)
位是指二进制数的一位0或1,也称比特。它是计算机存储数据的最小单位。
(2)字节(byte)
8位二进制数为一个字节,缩写为B。字节是存储数据的基本单位,通常,一个字节可以存放一个英文字母或数字,两个字节可存放一个汉字。
存储容量单位还有千字节(KB)、兆字节(MB)、吉字节(GB),它们之间的换算关系为(以210=1024为一级)
1B=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB
(3)字(word)
字由一个或多个字节组成。字与字长有关。字长是指CPU能同时处理二进制数据的位数,分8位、16位、32位、64位等,如486机字长为32位,字由4个字节组成。