进制转化
之前一直被进制转化苦恼,总是学了忘忘了学,啊淦!
我愿称这篇为“进制转化的终结”
嗯,总结一下
十进制转其他进制
1.整数部分
核心过程:十进制数/基数=商……余
得到的商成为下一个被除数
得到的余单独写出来,
最后会有:
十进制数/基数=商1……余1
商1/基数=商2……余2
……
重复上述过程,直到商i<基数
将得到的余数按“余i 余i-1 余i-2……余1”排列,即是对应的进制整数部分
(我怕引来什么误解,此文中对排列的定义就是:把一个数一个数按照顺序摆放在一起,不是加在一起!!!不要联想到数学的什么排列组合!!!((((((((()
2.小数部分
核心过程:十进制数小数*基数=积
取积的整数部分为整i,余下的小数部分继续与基数乘
最后会有:
十进制数小数*基数=积1——取整1、小1
小1*基数=积2——取整2、小2
……
重复上述过程,直到题目规定的精度。
将得到的整数i按照“整数1 整数2……整数i”来排列,即使对应的进制小数部分
其他进制转十进制
在其他进制中,对应位数上的权数(也可以理解为权值,比如16进制的第一位是160,第二位是161。)乘以位数上的数字,然后把每一位的结果加在一起就行。
这个时候就有人问了,小数部分怎么办呢?
小数其实就是另一种形式的整数,这样想,每个进制的第一位数的权数是基数0,那么再往后一位就是小数部分的第一位,即基数-1……然后按同样方法加在一起就行。
其他进制转其他进制
其他进制转其他进制=
其他进制转十进制--->十进制转其他进制
虽然麻烦些但这样最好理解。
其实都是我个人的一些总结,
如果有错误请指出,不如说拜托了