C# 프로그래밍 가변길이 매개변수와 10진수 to 2진수

Today Jeeho Learned·2022년 11월 11일
0

C#

목록 보기
4/17
post-thumbnail
post-custom-banner

가변길이 매개변수(params)

  • C#에서 메소드를 선언할 때 params 키워드를 지정하여 개수가 가변적인 매개변수를 메소드에 전달할 수 있다.
  • params 키워드를 사용하여 선언한 매개변수는 목록의 맨 마지막(맨 오른쪽)에 사용해야 한다.(매개변수의 개수를 이용한 메소드의 오버로딩은 사용 안 해도 될 것 같다.)
  • params 키워드를 사용할 때 인자를 안 던질 수도 있으며, 일차원 배열로 받아야 하는데 추가 매개변수를 더 지정할 수는 없다.
    class Program
    {

        private static void OnjSum(string title, params int[] num)

        {

            int sum = 0;
            Console.WriteLine("Sum of {0}", title);

            foreach (int i in num) sum += i;        
            Console.WriteLine("Sum :: {0}\n", sum);
        }



        static void Main(string[] args)

        {
            int[] onjArray = new int[2] { 1, 2 };

            OnjSum("숫자하나", 1);
            OnjSum("숫자둘", 1, 2);
            OnjSum("숫자셋", 1, 2, 3);
            OnjSum("배열", onjArray);
        }

    }

십진수 -> 이진수 변환 구현하기

십진수를 이진수로 바꾸는 방법은 2로 나눈 몫과 나머지를 구분하여 계속 나누어주고, 나머지의 모음을 아래에서 위로 읽어주면 된다.
C#에서 구현해보자

이러한 순서도 구조로 갈 것이다.

    class Program
    {



        static void Main(string[] args)
        {
            int num = int.Parse(Console.ReadLine());
            int mok = num;
            string na = "";

             
            for (mok = num; mok > 0;)
            {
                na = (mok % 2) + na;  
                mok /= 2;
            }
            Console.WriteLine("for : " + na);

            mok = num; na = "";
            do
            {
                if (mok > 0)
                {
                    na = (mok % 2).ToString() + na;
                    mok = mok / 2;
                }
                else break;
            } while (true);
            Console.WriteLine("do while : " + na);

        }
    }

console.ReadLine()을 통해 정수를 입력받고~ for문와 do while문을 통해서 구현해보았다.
요런 느낌쓰~

profile
기록해야 (살아)남는다 !
post-custom-banner

0개의 댓글