Java用中学方法将十进制数转换成二进制
如何用Java将一个十进制数转换成二进制,我用数学中的老方法试试(初学者 如果你有更好方法请多指教)
写成Java代码如下:
class toBin {
public static void main(String[] args) {
int num=88; //要求二进制的值
int quoNum; //定义商
int remNum; //定义余数
String bin=""; //定义二进制结果变量
int i=0;
while(num!=0){
remNum=num%2; //求除以2后余数
num/=2; //除以2重新赋值给num
String sBin=Integer.toHexString(remNum); //余数转换成字符串类型
bin=sBin+bin; //每次计算的余数连接起来
i++;
}
System.out.println(bin); //输出二进制结果
}
}
应网友提示确实写错了,果然自己很菜,修正:
public static String covertBin(int num) {
String binStr = "";
// 辗转相除 余数倒序拼接 直到商为1时跳出循环
while (num != 1) {
binStr = num % 2 + binStr;
num /= 2;
}
return "1" + binStr;
}
还没有评论,来说两句吧...