Java中十进制与二进制之间的转换
今天做题碰上一道其中需要十进制与二进制之间的转换的问题。然后翻阅资料得知,在java中的integer类中就有一个方法可以实现这个操作,这个方法的名字是toBinaryString(),返回值类型是字符串。但是为了学好java,不仅仅要知道有这么一种方法,更重要的是要知道怎么实现这种方法。
首先需要弄明白十进制转化为二进制的数学方法,就是把十进制的原始数连续除以二取余数,然后得到的余数从下到上组合起来就是该数的二进制表示。其实这也不难理解。首先,最后一个余数肯定是这个数能除掉的最大的二的次幂,那么这个“1”的位数确定了,然后再往后随着2的次幂的减少,数位的值从左至右也就确定了。
这样就可以实现十进制到二进制之间的转换了。
private String toBinaryString(int i){
String result="";
while(i>1){
int j=i%2;
i=i/2;
result=j+result;
}
result=i+result;//最后的商也要算进来
return result;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步