십진수를 이진 형식으로 변환할 수도 있습니다. 10진수를 2진수로 변환하려면 0 또는 1이 될 때까지 숫자를 2로 나누어야 합니다. 그리고 각 단계에서 나머지는 별도로 저장되어 역순으로 2진수 등가를 형성합니다.
이 알고리즘에서는 재귀적 접근 방식을 따릅니다. 스택 데이터 구조를 사용하지 않고 문제를 해결하는 데 도움이 됩니다. 구현에서 우리는 함수의 재귀가 내부 스택을 따를 것이라는 것을 알고 있습니다. 우리는 그 스택을 사용하여 우리의 일을 할 것입니다.
입력 및 출력
Input: Decimal number 56 Output: Binary Equivalent: 111000
알고리즘
decToBin(decimal)
입력 :10진수.
출력: 이진 등가 문자열.
Begin if decimal = 0 OR 1, then insert decimal into the binary string return decToBin(decimal / 2) insert (decimal mod 2) into the binary string. End
예시
#include<iostream> using namespace std; void decToBin(int dec) { if(dec == 1 || dec == 0) { cout << dec; //print either 0 or 1 as dec return; } decToBin(dec/2); //divide the number by 2 and find decimal again cout << dec % 2; //after returning print the value in reverse order } main() { int dec; cout<<"Enter decimal number: "; cin >> dec; cout << "Binary Equivalent: "; decToBin(dec); }
출력
Enter decimal number: 56 Binary Equivalent: 111000