※요약
재귀함수를 통해 10진수를 2진수로 변환한다.
※특징
10진수 n을 Dec2Binary함수에 넣으면 2진수로 출력해준다.
int형으로 값을 받으므로 2,147,483,647의 수까지 변환이 되며,
더 큰 수를 변환하고 싶으면 unsigned int나 unsigned __int64로 하면 된다.
unsigned __int64의 경우 18446744073709551615의 수를 2진수로 변환 할 수 있다.
※예제
#include <stdio.h> void Dec2Binary( unsigned __int64 nNum ); int main( ) { unsigned __int64 nNum = 0; printf( "-1 입력시 종료 됩니다.\n" ); while( nNum != -1 ) { printf( "숫자를 입력하세요 : " ); scanf( "%d", &nNum ); Dec2Binary( nNum ); printf( "\n\n" ); } return 0; } void Dec2Binary( unsigned __int64 nDecimal ) { if( nDecimal < 2 ) { printf( "%I64u", nDecimal ); } else { Dec2Binary( nDecimal/2 ); printf( "%I64u", nDecimal%2 ); } }
※결과
-unsigned __int64형으로 했을 때 변환할 수 있는 최대의 수
'예제 모음 > C/C++' 카테고리의 다른 글
[C++11] 중복없는 로또 프로그램 (6) | 2015.11.27 |
---|---|
[C++11] 원 안에만 점 찍기 (0) | 2014.09.02 |
[C언어] rand 함수를 이용한 로또 프로그램 (1) | 2014.04.08 |
[C언어] 소수점 특정 자릿수 반올림하기 - ROUND 함수 (0) | 2014.03.14 |
[C언어] 어떤 수 x가 2의 n승인지 판별하는 함수 (0) | 2014.03.13 |
[C언어] 재귀 함수 - 이진 탐색 (Binary Search) (0) | 2013.12.05 |
[C언어] 재귀 함수 - 거듭제곱 (power) (3) | 2013.12.05 |