软考之进制转换
软考之进制转换
进制转换是计算机科学中的基础知识,掌握不同进制之间的转换方法对于理解计算机的工作原理至关重要。本文将详细介绍二进制、八进制、十进制和十六进制之间的转换方法,帮助读者建立扎实的计算机科学基础。
一、二进制
二进制能简化电子元件的制造,所以现代计算机系统采用了二进制的设计。
二进制的表示方法:在数字后加B或者加2的注角。例如1011B或者(1011)2
1)有两个基本数字:0、1。
2)逢二进一。
3)每个数字所在位置不同,代表的值不同。
整数二进制转十进制
10101=124+023+122+021+1*20
10101B转十进制的结果为:21D。
小数二进制转十进制
二进制:110101.01
=125+124+023+122+021+120+02-1+12-2
=53.25
二进制转八进制:三位并为一位
为什么要三位并为一位呢?因为23=8
1)整数部分从右至左为一组,最后一组如不足三位,则左侧补0。
2)小数部分从左至右为一组,最后一组如不足三位,则右侧补0。
3)按组转换为八进制。
如上图所示:(10 111 011.001 01)2转换成八进制为(273.12)8
二进制转十六进制:四位并为一位
为什么要四位并为一位呢?因为24=8
- 整数部分从右至左为一组,最后一组如不足四位,则左侧补0。
- 小数部分从左至右为一组,最后一组如不足四位,则右侧补0。
- 按组转换为十六进制。
如上图所示:(10 111 011.001 01)2转换成十六进制为(BB.28)16
二、八进制
八进制表示:在数字后面加Q或者加8注脚。例如163Q或者(163)8
八进制特点:
1)有八个基本数字:0、1、2、3、4、5、6、7。
2)逢八进一。
3)每个数字所在位置不同,代表的值不同。例如:
163=182+681+3*80
163Q转十进制的结果为:115D。
三、十进制
十进制的表示方法:在数字后加D或者不加字母,例如:128D或128。
十进制的特点:
1)包含十个基本数字:0、1、2、3、4、5、6、7、8、9
2)逢十进一。
3)每个数字所在位置不同,代表的值不同。例如:
128=100+20+8
=1102+2101+8*100
整数十进制转二进制
将十进制数反复除以2,直到商位0。第一次相除后得到的余数为最低位,最后相除得到的余数为最高位。
如上图所示:十进制53转换成二进制就是110101。
小数十进制转二进制
乘2取整法:
第一步:将十进制小数乘以2,取乘积的整数部分,得到二进制小数的最高位。
第二步:取乘积的小数部分乘以2,取乘积的整数部分,得到二进制小数的下一位。
重复第二步:知道乘积小数部分为0或者二进制小数位达到精度,所得即为转换结果。
如上图所示:十进制0.125转成二进制之后是0.001。
不过,对于某些小数,这个过程可能不会在有限步内结束,因此我们通常需要设定一个精度限制(例如保留几位小数)。比如十进制小数0.356转成二进制,同样用乘2取整法,但是这个过程可能会无限进行下去,我们可以选择保留一定数量的小数位。例如,保留10位小数:0.356(10)≈0.0101101101(2)
四、十六进制
十六进制的表示方法:在数字后面加H或者加16的注脚。例如A804H,或者(A804)16
十六进制特点:
1)有十六个基本数字:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
2)逢十六进一。
3)每个数字所在位置不同,代办的值不同。例如:
A804=10163+8162+0161+4160
A804H转十进制的结果为:41315D。