Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

10진수에서 2진수로 변환


십진수를 이진 형식으로 변환할 수도 있습니다. 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