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

10진수에서 2진수로의 변환을 위한 C 프로그램?

<시간/>

정수를 십진수 시스템(base-10)에서 이진수 시스템(base-2)으로 변환합니다. 정수의 크기는 32비트로 가정하므로 숫자를 밑수로 나누어야 합니다. 컴퓨터에서 정수 값을 컴퓨터인 바이트로 변경하는 데 사용됩니다.

Input:10

Output:1010

설명

10진수가 10인 경우

  • 10을 2로 나누면 나머지는 0입니다. 따라서 0.

  • 10을 2로 나눕니다. 새 숫자는 10/2 =5입니다.

  • 5를 2로 나누면 나머지는 1입니다. 따라서 1입니다.

  • 5를 2로 나눕니다. 새 숫자는 5/2 =2입니다.

  • 2를 2로 나눌 때 나머지는 0입니다. 따라서 0.

  • 2를 2로 나눕니다. 새 숫자는 2/2 =1입니다.

  • 1을 2로 나누면 나머지는 1입니다. 따라서 1입니다.

  • 1을 2로 나눕니다. 새 숫자는 1/2 =0입니다.

  • number =0이 됩니다. 배열을 역순으로 인쇄합니다. 이에 상응하는 이진수는 1010입니다.

예시

#include <iostream>
using namespace std;
int main() {
   long n, d, r, binary = 0;
   n=10;
   d = n;
   int temp = 1;
   while (n!=0) {
      r = n%2;
      n = n / 2;
      binary = binary + r*temp;
      temp = temp * 10;
   }
   printf("%ld", binary);
   return 0;
}