十进制转换为二进制,方式是除2取余。
100/2 =50-- 0
50/2 =25 - - 0
25/2 =12- - 1
12/2 =6 --0
6/2 =3-- 0
3/2 =1-- 1
1/2 =0 --1
二进制是从下往上一次排列。 即100二进制 为 1100100
import java.util.Scanner;
public class Erbinary {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字:");
int num = sc.nextInt();
String result=""; //定义一个空的字符串类型
/*
num =100
第一次num%2=0. result="0"; num=num/2=50;
第二次num%2=0;ressult=num%2+result = “00”;第二次取余得出的余数排列在了第一次取余结果的前面。
依次取余得出的余数都排列前面取余结果的前面。
最后一次取余,1/2 后 num=0;此时退出循环。
*/
while(num!=0){
result=(num%2)+result;
num=num/2;
}
System.out.print(result);
}
}