进制定义
二进制是Binary,简写为B,二进制只有0和1两个值,计算方法是逢二进一。比如01B+01B(其中B是Binary的首字母,即二进制的简写),结果就是10B,因为逢二进一,低位的1相加后得2就向高位进1;
八进制是Octal,简写为O,八进制是指有0~7这8个值的表示法,计算方法是逢8进1。比如17O+23O=42O,因为逢8进一,低位的7+3=10,10在八进制就是12,加上原来高位的1+2,结果就是42O;
十进制是Decimal,简写为D,十进制即咱们日常使用的0~9。咱们日常做的计算都是十进制的,计算方法是逢十进一,比如21D+11D=32D;
十六进制是Hexadecimal,简写为H,十六进制用数字0-9和字母a-f(或其大写A-F)表示0到15,计算方法是逢16进1,比如1DH+25H=42H,因为逢16进一,低位的D相当于十进制的13,而5可以看成是十进制的5,相加得18,而18-16=2,因此低位的值为2,高位的值即1+2再加上进位1即得4,高位结果就是4,最后结果是42H;
其中计算机采用的是二进制作为基础,在此基础上拓展了八进制、十进制、十六进制等。
进制转换
主要思路:二进制数,八进制数、十六进制数可以采用按权展开法转化为十进制数,十进制转化为R进制要分为两部分【这里R进制是泛指,可以代表二进制、八进制、十六进制等】,其中整数部分要除R取余,直到商为0,小数部分要乘R取余直到得到整数。
十进制整数转二进制
十进制整数转换成二进制采用“除2倒取余法”,即将十进制整数除以2,得到一个商和一个余数;再将商除以2,又得到一个商和一个余数;以此类推,直到商等于零为止。
具体实现:
例如(67)10 → (1000011)2
将67除以2得商33,余数1。将商(33)作为第二次的被除数一次类推,直到商为0.
十进制八、十六进制小数转进制
十进制转八、十六进制的原理:跟十转二原理一样,十进制数除以8/16,余数为权位上的数,得到商继续除以8/16,直到商为0终止,然后反向取余数。
R进制转十进制
方法:把R进制数按权展开、相加即得十进制数。
二进制转八、十六进制
方法:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。
同理,二进制转十六进制时, 4位二进制数按权展开相加得到1位十六进制数,不足四位补0。
八进制转二进制
方法:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。
小数
小数和整数一样,将小数位变成负数次方就好了。