문제
– 이진수는 부호 없는 이진수로 표현됩니다. 이진수에서는 2^0, 2^1, 2^2, 2^3으로 표현되지만 -binary에서는 (-2)^0 = 1, (-2)^1 = -2, (-2)^2 = 4, (-2)^3 = -8을 나타냅니다. 1, 1, 110, 111, 100, 101, 11010, 11011, 11000, 11001 등으로 시작하는 십진수
10진수를 입력받아 2진수를 출력하는 프로그램을 작성하시오.
기입
첫 번째 줄은 10진수로 숫자 N을 제공합니다.
전)
-13
누르다
– 이진수를 출력합니다.
전)
110111
암호
import java.util.*;
public class Main {
public static void main(String() args){
Scanner scanner = new Scanner(System.in);
int n= scanner.nextInt();
String num="";
if(n==0){
System.out.println(0);
}
while(true){
if(n==0){
break;
}else if(n%(-2)==-1){
num=(n%(-2))+2+num;
n=n/(-2)+1;
}else{
num=(n%(-2))+num;
n=n/(-2);
}
}
System.out.println(num);
}
}
