반응형

도전2. 사용자로부터 10진수 형태로 정수를 하나 입려받은 다음 2진수로 변환해서 출력하는 프로그램을 작성해 보자.

 

네... 10진수를 2진수로 구하는것.. 기억하십니까? 

2로 나누면서 나머지를 적어서 더이상 나눌수 없을때까지 나눠 나머지를 역순으로 적으면, 2진수가 됩니다. 

알고리즘 자체는 별로 안어려운데.. 그걸 역순으로 출력하는게 골치가 아픕니다.. 간단하게 하자니 

 

일단 의사코드를 좀 생각해보았습니다. 

배열크기를 넉넉하게 지정하고, 

10진수 하나를 입력받아 n에 저장하여, 

for(i는 0부터 증가) // 2진수 결과를 역순으로 배열에 넣는다

 n % 2 = 배열[i] 

 n = n/2

 if(n=0) 

  len = i; 

  break; 

 

for(i는 len부터, 1씩 감소) // 역순으로 들어가 있는 2진수를 다시 역순으로 출력한다 (정상출력)

 배열[i] 출력 

 

실제코드입니다. 

 

특별히 설명드릴 껀 없습니다. 

21~23번째 줄에서 역순으로 출력하고 있습니다. 

실행결과입니다.

 

이상입니다! 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기