1.进制基本概念
随着计算机技术的发展,进制之间的转换对于理解计算机的工作原理非常重要,计算机直接识别应用的数据为二进制数,但生活中人们常用的数据为十进制数,如何转换进制在计算机中是一个要点。
十进制 | 由0~9数字组成,不能以0开头 |
二进制 | 由0和1两个数字组成 |
八进制 | 由0~7数字组成,为了区分进制以0开始作为区别 |
十六进制 | 由0~9数字和A~F字母组成(对应10~15),为了区分进制以0x开始作为区别 |
进制转换关系图:
2.进制转换常见方法
2.1十进制如何转换x进制(x分别代表二、八、十六进制数)
传统方法:“除x逆序取余” | 技巧方法:因式分解 |
由于整数和小数的转换方法不同,因此需要将十进制的整数部分和小数部分分别转换,然后再将两部分连接在一起 | 十进制转换二进制,都与基数2的次方数关联,高位至低位依次为、、...、64、32、16、8、4、2、1,其中1的位数有效,0的位数无效,所以就根据二进制对应的位数按上数对应的数字进行分解相应的因式 |
整数部分:除x取余,直至商为0,逆序排列 | 例如十进制303.5转换为二进制数 整数部分:即:(303)D=(100101111)B |
小数部分:乘x取整,直至积中小数为0或达到所要求的精度,顺序排序 | 小数部分:整数转换较为精确,而小数转换可能出现循环小数的情况。因此需要进行一些四舍五入的处理停止循环,一般情况,小数准换会有一些误差。 即:(0.5)D=(0.1)B 故:(303.5)D=(100101111.1)B |
十进制转换八进制时:
首先采用因式分解转换成二进制,再将从后面向前面将三位二进制数转化成一位对应的八进制数,不足三位补0凑三位数。
例如十进制数:(33)D=(100001)B=(41)O
十进制转换对应十六进制时:
首先采用因式分解转换成二进制,再将从后面向前面将四位二进制数转化成一位对应的十六进制数,不足四位补0凑四位数。
例如十进制数:(111)D=(1101111)B=(6F)H