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

C#에서 재귀를 사용하여 숫자를 10진수에서 2진수로 변환하는 방법은 무엇입니까?

<시간/>

재귀를 사용하여 Decimal의 이진법을 얻으려면 먼저 십진수를 설정하십시오 -

int dec = 30;

이제 함수에 값을 전달하십시오 -

public int displayBinary(int dec) {
}

이제 10진수 값이 0이 될 때까지 조건을 확인하고 재귀를 사용하여 아래와 같이 10진수의 mod 2를 얻습니다. 재귀 호출은 dec/2 값 -

로 함수를 다시 호출합니다.
public int displayBinary(int dec) {
   int res;
   if (dec != 0) {
      res = (dec % 2) + 10 * displayBinary(dec / 2);
      Console.Write(res);
      return 0;
   } else {
      return 0;
   }
}

다음은 완전한 코드입니다 -

using System;

public class Program {
   public static void Main(string[] args) {
      int dec;
      Demo d = new Demo();
      dec = 30;
      Console.Write("Decimal = "+dec);
      Console.Write("\nBinary of {0} = ", dec);
      d.displayBinary (dec);
      Console.ReadLine();
      Console.Write("\n");
   }
}
public class Demo {
   public int displayBinary(int dec){
      int res;
      if (dec != 0) {
         res = (dec % 2) + 10 * displayBinary(dec / 2);
         Console.Write(res);
         return 0;
      } else {
         return 0;
      }
   }
}

출력

Decimal = 30
Binary of 30 = 11110