저는 아주 초보자이고 C#을 배우기 시작했습니다. 숫자를 10 진수에서 2 진수로 변환하는 간단한 콘솔 앱을 만들고 싶습니다.작업이 끝날 때마다 증가하는 변수를 어떻게 선언합니까?
내가 이런 짓을했는지 :
static void Main(string[] args)
{
Console.Write("Which decimal number do you want to convert into binary : ");
long nr_dec = long.Parse(Console.ReadLine());
int p = 0;
long[] nrbin = new long[p];
int i = 0;
while (nr_dec > 1)
{
nrbin[i] = nr_dec % 2;
i++;
nr_dec /= 2;
p++;
}
nrbin[i] = 1;
for (i = 0; i < nrbin.Length; i++)
{
Console.Write(nrbin[i]);
}
Console.ReadKey();
}
이 반쯤 작동합니다. 얼마나 많은 장소를 배열에 저장해야하는지 모르겠다. (예를 들어, 5는 2 진수로 101은 3 개를 저장하고 싶다.) 그런 식으로 나는 P가 % 배열에 p 요소가 있어야하지만 어떻게해야할지 모르겠다. (배열의 선언 후에 p를 늘리고 처음에는 p가 0이므로 0을 저장하므로) 어떻게 배열을 마지막에서 처음으로 요소를 보여줄 수 있습니다. // 목록으로 시도했지만 지금은 얻고 있습니다 인덱스가 범위를 벗어났습니다. 음수가 아니어야하며 콜렉션의 크기보다 작아야합니다. 매개 변수 이름 : 인덱스
static void Main(string[] args)
{
Console.Write("Which decimal number do you want to convert into binary : ");
long nr_dec = long.Parse(Console.ReadLine());
List<long> nrbin=new List<long>() ;
int i=0;
while(nr_dec> 1)
{
nrbin[i] = nr_dec % 2;
i++;
nr_dec /= 2;
}
nrbin[i] = 1;
for (i =0;i<nrbin.Count;i++)
{
Console.Write(nrbin[i]);
}
Console.ReadKey();
}
}
}
배열 대신'List <>'를 사용하지 않는 이유는 무엇입니까? 그렇게하면 얼마나 큰지 알 필요가 없습니다. – itsme86
마지막 단락을 명확히하려고하십시오. 아마도 몇 개의 별도 문장으로 분리되어야합니다. 나는 당신의 의도를 확신 할 수 없기 때문에 나는 스스로 그것을 "고치려고"노력하고 싶지 않았다. –
예를 들어, 6 이진수가 110이지만 (예 : 6은 110이지만) 역순으로 표시하기 위해 011로 표시되므로 배열 (또는 목록)을 반전하고자 함을 나타냅니다. 110 –