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

C++에서 10진수를 2진수로 변환하는 프로그램

<시간/>

10진수를 입력으로 하여 주어진 10진수를 2진수로 변환하는 작업입니다.

컴퓨터의 10진수는 10진법으로 표시되고 2진법은 2진법 0과 1의 두 자리만 있기 때문에 2진법으로 표시되지만 십진수는 0 – 9부터 시작하는 모든 숫자가 될 수 있습니다.

10진수를 2진수로 변환하려면 주어진 단계를 따르십시오 -

  • 먼저 주어진 숫자를 전환 숫자의 기본 값으로 나눕니다. 42를 밑이 2인 이진수로 변환한 다음 몫을 구하고 저장해야 하기 때문에 42를 2로 나눕니다. 나머지가 0이면 비트를 0으로 저장하고 그렇지 않으면 1을 저장합니다.
  • 얻은 몫을 2진수의 기본 값인 2로 나누고 비트를 계속 저장합니다.
  • 저장된 비트로 계속 오른쪽 이동
  • 나머지가 나누어지지 않을 때까지 단계를 반복합니다.

아래는 10진수를 2진수로 변환한 그림입니다.

C++에서 10진수를 2진수로 변환하는 프로그램

예시

Input-: 42
   Divide the 42 with base 2 : 42 / 2 = 0 (remainder) 21(quotient)
   Divide quotient with base: 21 / 2 = 1(remainder) 10(quotient)
   Divide quotient with base: 10 / 2 = 0(remainder) 5(quotient)
   Divide quotient with base: 5 / 2 = 1(remainder) 2(quotient)
   Divide quotient with base: 2 / 2 = 0(remainder) 1(quotient)
   Now reverse the bits to obtain final value.
Output-: 101010

알고리즘

Start
Step 1-> declare function to convert decimal to binary
   int convert(int num)
   Loop For int i = 31 i >= 0 i—
      Set int k = num >> i
      If (k & 1)
         Print "1"
      End
      Else
         Print "0"
      End
   End
Step 2-> In main()
   Declare and set int num = 42
   Call convert(num)
Stop

예시

#include <iostream>
using namespace std;
//convert decimal to binary
int convert(int num) {
   for (int i = 31; i >= 0; i--) {
      int k = num >> i;
      if (k & 1)
         cout << "1";
      else
         cout << "0";
   }
}
int main() {
   int num = 42;
   convert(num);
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다.

00000000000000000000000000101010