IT•개발 끄적/Java
[java] 정수를 2진수로 변환
소다맛사탕
2021. 4. 7. 21:00
반응형
jdk 1.7
자바 기본 알고리즘 중에
정수를 2진수로 변환하는 알고리즘을 구현해 보았습니다.
1. while문으로 기본적인 방법
int twoTemp; //2진수 값
String totalTwo = "";
String temp;
Scanner sc = new Scanner(System.in);
System.out.println("2진수로 변환할 정수값 입력!");
int n = sc.nextInt();
while(true) {
twoTemp = n % 2;
n /= 2;
temp = Integer.toString(twoTemp);
totalTwo = temp + totalTwo;
//System.out.print(twoTemp + " ");
if(n < 2) {
System.out.println(n);
temp = Integer.toString(n);
totalTwo = temp + totalTwo;
break;
}
}
System.out.println(totalTwo);
>> 2진수로 변환할 정수값 입력!
>> 10
>> 1010
2. java 컬랙션(collection)을 이용하는 방법
Scanner sc = new Scanner(System.in);
System.out.println("2진수로 변환할 정수값 입력!");
int n = sc.nextInt();
ArrayList<Integer> arr = new ArrayList<Integer>();
while(n > 0) {
arr.add(n%2);
n /= 2;
}
Collections.reverse(arr);
for(int i = 0; i<arr.size(); i++) {
System.out.print(arr.get(i));
}
>> 2진수로 변활한 정수값 입력!
>> 10
>> 1010
※ Collections.reverse() 는 위에서 선언된 ArrayList 의 배열을 뒤집는 결과를 가져옵니다.
더 나은 방법으로 스스로 구현해 보세요.