计算机的发展早期的计算工具近代计算机电子计算机的问世
2. 十进制数转换成非十进制数 当一个十进制数m转换成r进制数时,可以将整数部分和小数部分分开考虑,规则是: ⑴ 整数部分,将m的整数部分除r取余,再重复地用相除后的整数部分除r取余,直到整数部分为0时止。按先后次序,将所得到的余数由右到左(即由低到高)排列,即得到r进制数的整数部分。 ⑵ 小数部分,将m的小数部分乘r取整,再重复地用相乘后的小数部分乘r取整,直到小数部分为0或达到要求精度时为止。按先后次序将所得到的整数由左到右(即由高到低)排列,即得到r进制数的小数部分。 1.3数据在计算机内的表示 【例1】 将十进制数60.6875转换为二进制数。 【解】 ① 用“除2取余”方法计算与整数60对应的二进制整数部分: 将先得到的余数排在低位,后得到的余数排在高位,即得到60转换成的二进制整数(111100)2。 ② 用“乘2取整”方法计算与小 数0.6875对应的二进制小数部分: 0.6875?2=1.375 整数部分为1,小数部分为0.375 0.375?2=0.75 整数部分为0,小数部分为0.75 0.75?2=1.50 整数部分为1,小数部分为0.50 0.50?2=1.0 整数部分为1,小数部分为0.0(小数部分为0) 转换结果 (60.6875)10=(11110.1011)2 。 1.3数据在计算机内的表示 【例2】 将十进制数29.65转换为八进制数和十六进制数(保留两位小数)。 【解】 ① 转换为八进制数。 将29按除8取余法转换为八进制数,过程如下: 结果为:(29)10=(35)8 将0.65按乘8取整法转换为八进制并保 留两位小数,过程如下: 0.65?8=5.2 整数部分为5,小数部分为0.2 0.2?8=1.6 整数部分为1,小数部分为0.6 0.6?8=4.8 整数部分为4,小数部分为0.8 将先得到的整数排在高位,后得到的整数排在低位,即得到0.65转换成的八进制小数0.51。 转换结果(29.65)10=(35.51)8。 1.3数据在计算机内的表示 ② 转换为十六进制数。 将29按除16取余法转换为十六进制数,过程如下: 结果为:(29)10=(1D)16 将0.65按乘16取整法转换为十六进制 并保留两位小数,过程如下: 0.65?16=A.4 整数部分为A,小数部分为0.4 0.4?16=6.4 整数部分为6,小数部分为0.4 将先得到的整数排在高位,后得到的整数排在低位,即得到0.65转换成的十六进制小数0.A6。 转换结果(29.65)10=(1D.A6)16。 1.3数据在计算机内的表示 3. 非十进制数之间的转换 这主要是指二进制数与八进制和十六进制数之间的转换。 ⑴ 二进制数与八进制数之间的转换。 由于23=8,即1位八进制数相当于3位二进制数,可见,两者之间有如下对应关系: 根据上述关系,从二进制数转换成八进制数时,应该从小数点开始,分别向左右分开,每3位分为一组,不足3位的用0补足,然后将每组二进制数用相应的八进制数表示。 将八进制数转换为二进制数是上述过程的逆过程,即将每一个八进制数码转换为3位的二进制数即可。 【例3】 将10010111)2转换成八进制数。 【解】 将原数补0并按3位分组进行转换: 转换结果:10010111)2=(275.456)8。 ⑵ 二进制数与十六进制数之间的转换。由于24=16,即1位十六进制数相当于4位二进制数,因此,两者之间有如下对应关系: 1.3数据在计算机内的表示 【例4】 将(1101001011111.100011)2转换成十六进制数。 【解】 将原数补0并按4位分组进行转换: 转换结果:(1101001011111.100011)2=(1A5F.8C)16。 1.3数据在计算机内的表示 4.常用数制的对应关系 常用数制的对应关系如表1.3.2所示。 十进制 二进制 八进制 十六进制 0 1 0 1 0 1 0 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 1000