[ java ] JavaFestival6 - Question1 - 2진수를 10진수로 바꾸는 프로그램을 작성하시오. 단, 부호비트가 1인경우는 2의 보수로 표현 > java

본문 바로가기
사이트 내 전체검색

java

[ java ] JavaFestival6 - Question1 - 2진수를 10진수로 바꾸는 프로그램을 작성하시오. 단, 부호비트가 1인경우는 2의 보수로 표현

페이지 정보

작성자 웹지기 댓글 0건 조회 2,305회 작성일 20-12-19 01:58

본문

Question1

 - 2진수를 10진수로 바꾸는 프로그램을 작성하시오. 단, 부호비트가 1인경우는 2의 보수로 표현

 

import java.util.Scanner;


public class Question1 {

    public static void main(String[] args) {

        //2진수를 10진수로 바꾸는 프로그램을 작성하시오.

      //2진수 => 10진수 식 : 1001 = 2x4x1 + 2x3x0 + 2x2x0 + 2x1x1 => 10진수 9

        Scanner sc = new Scanner(System.in);


        System.out.print("2진수를 입력 하세요 : ");

        String str = sc.nextLine();

        String[] str2 = str.split(""); //문자를 잘라서 배열로 넣는다.

        

        int num = 1; //2의 배수를 곱해줄 숫자

        int tot = 0; //2의배수로 곲한 값을 더해줄 숫자

        int j=0;

        

        //배열의 첫번째 값이 1이면 음수가 된다.

        //부호비트가 1인경우 1의 보수를 구해서 1을 더하면 2의 보수가 된다.

        if(Integer.parseInt(str2[0]) == 1) {

            for(int i=(str2.length-1); i>=0; i--) {

                if(Integer.parseInt(str2[i]) == 1) {

                    j=0;

                } else {

                    j=1;

                }

                if(i==1) { //부호비트로 2의 보수 및 음수 변경구간

                    tot +=1;

                    tot*=-1;

                    break;

                }

                tot += (num*j);

                num*=2;

            }

        } else {

            for(int i=(str2.length-1); i>=0; i--) {

                j = Integer.parseInt(str2[i]);

                tot += (num*j);

                num*=2;

            }

        }

        System.out.println(str+"(2) = "+tot+"(10)");

    }

}

 

결과

2진수를 입력 하세요 : 01001101

01001101(2) = 77(10)

 

2진수를 입력 하세요 : 00101000

00101000(2) = 40(10)

 

2진수를 입력 하세요 : 11001011

11001011(2) = -53(10)

 

 

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 113건 3 페이지
  • 83 [ java ] ArrayList 객체 - 주소록 만들기.
  • 주소록 만들기 조회, 삭제, 검색시 등록된 연락처가 없으면 "등록된 연락처가 없습니다." 출력 추가 선택 이름, 나이, 전화번호 입력 조회 선택 연락처가 존재하면 모든 연락처 출력 삭제 선택 1번부터 원하는 숫자 선택 삭제 검색 선택 이름을 검색해서 해당하는 이름, 나이, 전화번호 출력 종료 "프로그램이 종료되었습니다." 출력 화면 - [1]추가 [2]전체조회 [3]삭제 [4]검색 [5]종료 >> 2 ...
  • 웹지기 12-21 7705 0 0 댓글 0
  • 82 [ java ] ArrayList 객체 - 물건을 추가하고 예상판매량을 조회하는 프로그램
  • 물건을 추가하고 예상판매량을 조회하는 프로그램을 작성하시오 기본 화면 [1]물건 추가 [2]예상 판매량 조회 [3]종료 >> [1]물건 추가 [2]예상 판매량 조회 [3]종료 >> 1 물건 이름 : usb 단가 : 22000 수량 : 4 [1]물건 추가 [2]예상 판매량 조회 [3]종료 >> 1 물건 이름 : 커피 단가 : 3100 ...
  • 웹지기 12-21 3060 0 0 댓글 0
  • 81 [ java ] JavaFestival9 - Question3 - 정수형 변수 input을 선언하고 피보니치…
  • Question3 - 정수형 변수 input을 선언하고 피보니치 수열의 input번째 항까지 출력하시오. ( ㅡㅡ;; 재귀호출 문제를 벌써 ) public class Question3 { public static void main(String[] args) { //정수형 변수 input 을 선언하고 피보나치 수열의 input 번째 항까지 출력하시오 int input = 8; for(int i=1; i&l...
  • 웹지기 12-19 2382 0 0 댓글 0
  • 79 [ java ] JavaFestival9 - Question1 - 아래와 같이 학생들의 성적 정보가 문자열로…
  • Question1 - 아래와 같이 학생들의 성적 정보가 문자열로 선언되어 있을 때 각 성적 별 학생수를 출력하시오 public class Question1 { public static void main(String[] args) { //아래와 같이 학생들의 성적 정보가 문자열로 선언되어 있을 때 각 성적 별 학생수를 출력하시오 String score = "A,A,B,C,D,A,C,D,D,D,F"; Strin...
  • 웹지기 12-19 3821 0 0 댓글 0
  • 78 [ java ] JavaFestival8 - Question1 - 5개의 정수를 입력 받아 내림차순으로 정렬…
  • Question1 - 5개의 정수를 입력 받아 내림차순으로 정렬하여 출력하는 프로그램 구현하시오 import java.util.Scanner; public class Question1 { public static void main(String[] args) { //5개의 정수를 입력받아 내림차순으로 정렬하여 출력하는 프로그램을 구하시오 Scanner sc = new Scanner(System.in); int[...
  • 웹지기 12-19 5396 0 0 댓글 0
  • 열람중 [ java ] JavaFestival6 - Question1 - 2진수를 10진수로 바꾸는 프로그램을 작성…
  • Question1 - 2진수를 10진수로 바꾸는 프로그램을 작성하시오. 단, 부호비트가 1인경우는 2의 보수로 표현 import java.util.Scanner; public class Question1 { public static void main(String[] args) { //2진수를 10진수로 바꾸는 프로그램을 작성하시오. //2진수 => 10진수 식 : 1001 = 2x4x1 + 2x3x0 + 2x2x0...
  • 웹지기 12-19 2306 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
5,703
어제
8,701
최대
61,067
전체
11,209,995

그누보드5
Copyright © funyphp.com. All rights reserved.