[ java ] JavaFestival5 - Question1 - 10진수를 정수를 입력 받아 2진수로 변화해서 출력하시오. > java

본문 바로가기

사이트 내 전체검색

java

[ java ] JavaFestival5 - Question1 - 10진수를 정수를 입력 받아 2진수로 변화해서 출력하시오.

작성일 20-12-19 00:53

페이지 정보

작성자 웹지기 조회 3,291회 댓글 0건

본문

Question1

 - 10진수를 정수를 입력 받아 2진수로 변화해서 출력하시오.

 import java.util.Scanner;


public class Question1 {

    public static void main(String[] args) {

        //10진수를 2진수로 변경

        Scanner sc = new Scanner(System.in);

        

        System.out.print("숫자를 입력 하세요 : ");

        int num = sc.nextInt();

        int num2 = num;

        

        //10진수를 2진수로 바꿀때 몇번의 나눗셈이 사용되는지 확인

        int i=0;

        while(num2>0) {

            num2/=2;

            //System.out.print(num2%2+"\t");

            i++;

        }

        //확인된 2진수의 개수를 통해 각 2진수를 배열에 넣는다.

        int[] arr = new int[i];

        int j=0;

        num2 = num;

        while(num2>0) {

            arr[j] = num2%2;

            num2/=2;

            //System.out.print(num3%2+"\t");

            j++;

        }

        

        System.out.print("10진수 "+num+"의 2진수는 ");

        for(i=arr.length; i>0; i--) {

            System.out.print(arr[i-1]);

        }

        System.out.println(" 입니다.");


        /* 방법2

        int n;

        n=sc.nextInt();

        

        int[] b = new int[32];

        int k=0;

        while(n!=1) {

            b[k++] = n%2;

            n=n/2;

        }

        b[k]=n;

        for(int l=k; l>=0; --l) {

            System.out.println(b[l]);

        }

        */


        /* 방법3

        int num3 = num;

        int cnt = 0;

        while(true) {

            if(num3!=0) {

                num3/=2;

                cnt++;

            } else {

                break;

            }

        }


        int[] result = new int[cnt];

        num3 = num;

        for(i=0; i<result.length; i++) {

            result[i] = num3%2;

            num3/=2;

        }

        

        System.out.print("10진수 "+num+"의 2진수는 ");

        for(i=result.length; i>0; i--) {

            System.out.print(result[i-1]);

        }

        System.out.println(" 입니다.");

        */

        

        //System.out.print("10진수 "+num+"의 2진수는 "+Integer.toBinaryString(num));

    }

}

 

결과

숫자를 입력 하세요 : 15

10진수 15의 2진수는 1111 입니다.



추천0

비추천 0

댓글목록

등록된 댓글이 없습니다.

전체 113건 3 페이지

이미지 목록

게시물 검색
Copyright © 즐거운 코딩 생활 ( funyphp ). All rights reserved.
PC 버전으로 보기