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 의 배열을 뒤집는 결과를 가져옵니다.

 

 

 

더 나은 방법으로 스스로 구현해 보세요.