2진수를 10진수로... > 문제은행

본문 바로가기


실력키우기 수학

1274 : 2진수를 10진수로...

제한시간: 1000 ms    메모리제한: 32 MB
해결횟수: 1205 회    시도횟수: 1997 회   



2진수를 입력받아 10진수로 바꾸어주는 프로그램을 작성하시오.

 

입력받는 2진수는 8비트로 구성되어있으며 최상위비트는 부호비트이다.
즉, 최상위 비트의 값이 0이면 양수, 1이면 음수이며 음수의 경우 2의 보수로 구성되어있다.

 

최상위 비트를 제외한 나머지 7개의 비트를 1, 2의 보수로 바꾸는 방법:

 

1의 보수는 2진수의 1과 0을 바꾸면 된다.
1101000 -> 0010111
  (2진수)     (1의 보수)

 

2의 보수는 1의 보수의 마지막 비트에 1을 더한다.
  0010111 (1의 보수)
+       1
--------- 

  0011000 (2의 보수)


입력의 첫 줄에 8자리의 2진수가 들어온다.


출력의 첫 줄에 10진수로 변환한 값을 출력한다.

[Copy]
00000101
[Copy]
5


[Copy]
10011000
[Copy]
-104


출처 : jungol



HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 070-7163-5782 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.