各进制之间转换方法?急!!
展开全部
我说一下数学算法,可以通过循环在C/C++上实现
十进制转二进制(其他转二进制一样):短除法,用一个十进制数除以二,求得余数,从下至上排列余数就是二进制数
例:6=110
6/2得3
余数0
3/2得1
余数1
1/2得0
余数1(最后的这步一定是得0,余数1)
余数从下到上为:110
就是6的二进制
八进制:首先要转换成二进制再转换成八进制,按照3对1的方法转换
例:十进制15
二进制得1111
从个位开始,3个二进制当作一个单元,不够的补上0
1111变成001
111
再分别把他们转换成十进制数字:001是1
111是7
得到15的八进制数:17
类比于八进制转换,十进制转换到十六进制,按照4对1进行转换
例:十进制76
二进制1001100
分组,4个二进制一组:0100
1100
分别转换成十进制:4
12(注意,十六进制中12是C)
得到76的十六进制为:4C
以上就是转换算法,还有别的算法,不过可能在代码实现上更难一些
十进制转二进制(其他转二进制一样):短除法,用一个十进制数除以二,求得余数,从下至上排列余数就是二进制数
例:6=110
6/2得3
余数0
3/2得1
余数1
1/2得0
余数1(最后的这步一定是得0,余数1)
余数从下到上为:110
就是6的二进制
八进制:首先要转换成二进制再转换成八进制,按照3对1的方法转换
例:十进制15
二进制得1111
从个位开始,3个二进制当作一个单元,不够的补上0
1111变成001
111
再分别把他们转换成十进制数字:001是1
111是7
得到15的八进制数:17
类比于八进制转换,十进制转换到十六进制,按照4对1进行转换
例:十进制76
二进制1001100
分组,4个二进制一组:0100
1100
分别转换成十进制:4
12(注意,十六进制中12是C)
得到76的十六进制为:4C
以上就是转换算法,还有别的算法,不过可能在代码实现上更难一些
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询