본문 바로가기

정보올림피아드수학

이진수를 십진수로 변경하는 방법

반응형

이진수를 십진수로 변경 하는 방법은 다음과 같다.

1111...1 처럼 1 이 n 개가 있는 경우

앞에서 부터 1 * 2 ( n -1 승) + 1 * 2 ( n - 2 승) .... + 1 * 2 ( 0 승) 으로 구한다.

1111 의 십진수는 1 * 2(3승) + 1 * 2(2승) + 1 * 2(1승) + 1 * 2(0승) = 8 + 4 + 2 + 1 = 15 와 같이 구해진다.

 

프로그램으로 구현 시

n 개 만큼 루프를 돌면서

바로 앞의 데이터에 2를 곱한 후 현재의 데이터를 합하면 된다.

예를 들면 1011 의 데이터 값을 구할때 다음과 같다.

0 * 2 + 1 = 1

1 * 2 + 0 = 2

2 * 2 + 1 = 5

5 * 2 + 1 = 11

반응형

'정보올림피아드수학' 카테고리의 다른 글

사탕 먹기 게임  (0) 2020.08.21
개미의 이동  (0) 2020.08.19
제일 짧은 노선의 경로 갯수 구하기  (0) 2020.08.18
한붓그리기  (0) 2013.09.23
숫자 개수를 구하는 문제  (1) 2013.09.23