IRONSOFTWAREHOME

Wartości binarne w C#: Zapisywanie i wyświetlanie wartości binarnych

Binarny w C#: Przechowywanie i wyświetlanie wartości binarnych w mniej niż 10 minut

Tim Corey

9m 43s

Liczby binarne są nieodłączną częścią informatyki, a zrozumienie, jak pracować z nimi w C# jest kluczowe do wykonywania operacji na niskim poziomie, manipulacji bitowych i efektywnego przechowywania. W tym artykułe omówimy kluczowe pojęcia dotyczące przechowywania i wyświetlania wartości binarnych w C#, zgodnie z filmem Tima Coreya, Binary in C#: Storing and Displaying Binary Values in 10 minutes or less.

Tim wyjaśnia ten temat w sposób zwięzły, ale szczegółowy, ułatwiając jego zrozumienie. Przejdźmy krok po kroku przez jego wyjaśnienie i odkryjmy, jak działają wartości binarne w C#.

Storing Binary Values in C#

Tim zaczyna od odpowiedzi na kluczowe pytanie: jak przechowujemy liczbę binarną w C#? Wyjaśnia, że liczby binarne, takie jak 0b101, reprezentują wartości w systemie dwójkowym i są przechowywane w zmiennych całkowitych.

Aby przechować wartość binarną, Tim demonstruje następującą składnię:

int binaryValue = 0b101; // Represents the decimal number 5

Tutaj 0b jest prefiksem, który informuje C#, aby interpretował następujące cyfry jako liczbę binarną. Tim podkreśla, że 0b101 jest równoważne 5 w notacji dziesiętnej.

Zaznacza również, że dodanie zer na początku (np. 0b00000101) nie zmienia wartości. System wciąż interpretuje to jako 5, ponieważ dodatkowe zera nie mają znaczenia numerycznego.

Printing Binary Values in C#

Gdy przechowamy wartość binarną, kolejnym krokiem jest jej wyświetlenie. Tim wskazuje na interesujące zachowanie: gdy drukujesz wartość przechowaną binarnie, C# domyślnie konwertuje ją na dziesiętną.

Na przykład:

Console.WriteLine($"Binary value is: {binaryValue}");
// Outputs: Binary value is: 5

Mimo że binaryValue zostało zapisane jako 0b101, konsola wyświetli 5. Tim wyjaśnia, że C# domyślnie działa w systemie dziesiętnym podczas wyświetlania wartości numerycznych.

Aby zobaczyć wartość w formacie binarnym, potrzebujemy konwersji.

Konwertowanie całkowitych na format binarny

Tim wprowadza prosty sposób formatowania liczby całkowitej jako ciągu binarnego:

string binaryString = Convert.ToString(binaryValue, 2);
Console.WriteLine($"Binary representation: {binaryString}");
// Outputs: Binary representation: 101

Wyjaśnia, że Convert.ToString(value, 2) konwertuje liczbę całkowitą na jej binarną reprezentację jako string. W ten sposób, jeśli zapisałeś 0b101, konsola teraz poprawnie wyświetli 101 zamiast 5.

Uzupełnianie wartości binarnych zerami wiodącymi

Tim następnie rozwiązuje problem, który często pojawia się przy wyświetlaniu liczb binarnych: formatowanie ich konsekwentnie z zerami wiodącymi. W wielu przypadkach chcemy, aby liczba binarna pojawiała się w formacie 8-bitowym (np. 00000101 zamiast tylko 101).

Wyjaśnia, jak to osiągnąć za pomocą PadLeft:

string formattedBinary = binaryString.PadLeft(8, '0');
Console.WriteLine($"Formatted binary: {formattedBinary}");
// Outputs: Formatted binary: 00000101

Tutaj PadLeft(8, '0') zapewnia, że binarny string zawsze ma przynajmniej 8 znaków, uzupełniając brakujące miejsca zerami. Jest to szczególnie przydatne przy pracy z wartościami binarnymi o rozmiarze bajta.

Tim wyjaśnia, że pojedyncze cudzysłowy wokół '0' są wymagane, ponieważ PadLeft działa z znakami, a nie stringami.

Reprezentacja binarna liczb dziesiętnych

Kolejny ważny punkt, który Tim porusza, to że nie musisz wprowadzać liczb w formacie binarnym (notacja 0b), aby uzyskać ich binarną reprezentację.

Na przykład możesz wziąć standardową liczbę dziesiętną i przekonwertować ją na binarną:

int decimalNumber = 12;
string binaryRepresentation = Convert.ToString(decimalNumber, 2);
Console.WriteLine($"Binary equivalent of {decimalNumber} is {binaryRepresentation}");
// Outputs: Binary equivalent of 12 is 1100

Tutaj liczba 12 jest przechowywana jako liczba całkowita w systemie dziesiętnym, ale po konwersji poprawnie wyświetla 1100 w systemie binarnym.

Tim podkreśla, że ta technika jest przydatna do debugowania i zrozumienia, jak liczby są przechowywane na poziomie bitowym.

Przechowywanie liczb binarnych w różnych typach danych

Tim również dotyka zagadnienia, jak wartości binarne mogą być przechowywane w różnych typach danych numerycznych. Chociaż liczby całkowite (int) są najczęstsze, C# pozwala przechowywać wartości binarne w innych typach, takich jak uint (liczba całkowita bez znaku) czy long.

Na przykład:

uint unsignedBinary = 0b1010; // 10 in decimal
long largeBinary = 0b1100110011; // A longer binary number

Kluczowa różnica w przypadku uint polega na tym, że nie obsługuje ona wartości ujemnych, podczas gdy long może przechowywać znacznie większe liczby.

Tim zaznacza, że zrozumienie tych różnic pomaga przy pracy z operacjami niskiego poziomu jak przesunięcia bitowe i maskowanie.

Podsumowanie

Tim kończy, podsumowując kluczowe wnioski:

  1. Liczby binarne są przechowywane w typach całkowitych, używając prefiksu 0b.
  2. Drukowanie liczby całkowitej domyślnie przedstawia ją w formacie dziesiętnym, wymagając jawnej konwersji dla wyjścia binarnego.
  3. Convert.ToString(value, 2) pomaga konwertować liczby na format binarny.
  4. PadLeft zapewnia spójne przedstawienie długości bitowej.
  5. Możesz przechowywać liczby binarne w różnych typach danych numerycznych, w zależności od zastosowania.

Dzięki tym technikom praca z wartościami binarnymi w C# staje się znacznie łatwiejsza i bardziej intuicyjna. Aby lepiej zrozumieć temat, obejrzyj jego pełny film.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Otrzymaj swoją Konsultację Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta