10진수 2진수 변환

uglyduck.dev·2020년 9월 29일
0

알고리즘 🧮

목록 보기
15/16

문제

  • 주어진 10진수를 2진수로 변환하시오

출력

010011

풀이

public class Main{
    public static void main(String[] args){
        int inputNum = 19;  // 10진수
        int bin[] = new int[100]; // 2진수가 저장된 배열
        
        /*
                     (몫) (나머지)
          19 / 2      9...1
           9 / 2      4...1
           4 / 2      2...0
           2 / 2      1...0
           1 / 2      0...1
           
           010011 => 19
        */
        
        int i = 0;  // 인덱스 초기화
        int mok = inputNum;  // 몫에 10진수 저장
        
        while(mok > 0){  // 몫이 나누어 떨어질 때까지 반복
            bin[i] = mok % 2;  // 몫을 2로 나누어 나머지 값을 저장
            mok /= 2;    // 몫을 2로 나눈 값을 갱신
            i++;         // 인덱스를 1증가시켜 bin[i] 배열의 다음 저장된 값을 꺼내도록 함
        }
        
        i--;  // bin[i] 배열의 인덱스는 0부터 4까지 저장되었으므로 현재 인덱스 값인 5에서 1을 감한다.
        for(; i>=0; i--){
            System.out.print(bin[i]);
        }
    }
}

Reference

profile
시행착오, 문제해결 그 어디 즈음에.

0개의 댓글