티스토리 뷰
z10진수를 2진수를 변경하는 방법 중 가장 일반적인 방법이 10진수를 2로 0이 몫이 0이 될 때까지 나누어
남은 나머지를 거꾸로 써나가는 방법일 것 같습니다.
그래서 그 방법을 재귀호출을 이용해 구현해 봤습니다.
1 2 3 4 5 6 | void dtob(int n) { if(n!=1) dtob(n/2); cout << n % 2; } | cs |
함수는 위와 같고
위에서 말한 것과 같이 재귀호출을 이용해서 마지막 나머지부터 출력합니다.
- 주의 사항 -
확인은 안 해봤지만 숫자가 커지면 그 만큼 재귀호출 수도 많아 지면서 스택의 오버플로우가 발생할 수도 있을 것 같습니다!!!
참고
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <iostream> using namespace std; void dtob(int n) { if (n != 1) dtob(n / 2); cout << n % 2; } void main() { dtob(25); } | cs |
#C, #C++, #알고리즘, #재귀호출, #10진수, #2진수, #변환
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday