Czesc mam pewien problem z zadaniem. Mam pewien algorytm to policzenia, ta czesc kodu wykonalem wiec nie musze tutaj wrzucac, ale mam problem z ostatnim etapem tego zadania. A mianowicie musze zamienic liczbe decymalna na ciag binarny (z uwzglednieniem bitu znaku) do minimu. Czyli niepotrzebne bity wyrzucamy a zostawiamy tylko pierwszy (0 lub 1 w zaleznosci czy liczba jest ujemna czy dodatnia).

Z liczbami dodatnimi jest mniejszy problem bo wystarczy na koncu dodac "0" i bedzie ok, ale z negatywnymi nie jestem pewien czy dobrze to robie.

Drugi problem jest z naprawde ogromnymi liczbami. Liczba sięga wartosci 1.59219793970915e+38. Szukalem po necie cos odnosnie tego, ale niestety nie moge znalezc dobrej odpowiedzi.

Pierwszy kawalek kodu wygladal tak (bez duzych liczb):

static string toBinary(int number) {
            if (number < 0)
            {
                string binary = Convert.ToString(number, 2);

                int makePositive = Math.Abs(number);
                string positiveBinary = Convert.ToString(makePositive, 2);

                int strip = positiveBinary.Length + 1;

                binary = binary.Substring(Math.Max(binary.Length - strip, 0)).PadLeft(strip, '0');

                return binary;
            }
            else
            {
                string binary = Convert.ToString(number, 2);
                return "0" + binary;
            }
}

static void Main(string[] args) {
      int n = 72;
      int n2 = -72;
      
      string binaryN =  toBinary(n);

      string binaryN2 =  toBinary(n2);
}

Czy dobrze rozumiem zadanie i liczby negatywne zamieniam prawidlowo ? Bo dodatnie chyba jest ok..

Nie obsluguje tutaj tych duzych liczb, widzialem cos z BitConverter.DoubleToInt64Bits() ale nie wiem jak to ugryzc.

Z gory dziekuje za pomoc