Jak konwertować liczby ujemne na binarne?

Prawie na pewno słyszałeś o liczbach ujemnych. Jeśli miałeś choć odrobinę kontaktu ze światem informatyki i programowania komputerowego, koncepcja liczb binarnych nie jest całkowicie obca. Ale jeśli nie poznałeś osobiście świata programowania, prawdopodobnie nigdy nie pracowałeś merytorycznie z liczbami binarnymi.

Ponieważ komputery nie potrafią „myśleć” ani „decydować” same, ale potrafią wykonywać rozkazy z niezawodną dokładnością, matematycy przybyli już dawno temu aby komputery (lub wystarczająco cierpliwi ludzie) wykonywali dodawanie, odejmowanie i inne operacje matematyczne przy użyciu tylko cyfr 0 i 1.

Ale czy istnieje sposób na połączenie tych dwóch pomysłów w celu uzyskania liczb ujemnych? Czy jest to tak proste, jak nakazanie maszynie przyklejenia małego poziomego paska przed istniejącą liczbą jak długopis i papier, czy też czynnik „bitów i bajtów” sprawia, że ​​sprawa jest bardziej zaangażowana?

Czym są liczby binarne?

Komputery mają ogromną moc obliczeniową, a nawet stary łobuz może wykonywać obliczenia z szybkością, która wydawałaby się niezrozumiała nawet dla najbardziej uzdolnionych arytmetycznie istot ludzkich. Nie są to jednak mózgi, a jedynym sposobem na zmuszenie ich do obsługi złożonych informacji jest przeniesienie wszystkiego, co możliwe, do jednego z dwóch stanów, np. WŁĄCZONY lub WYŁĄCZONY.

W „computer-ese” pojedyncze 0 lub 1 jest określane jako kawałek. Grupy z nich obejmują skubać (4 bity), dobrze znany bajt (8), słowo (1) i długie słowo (32).

Liczby dziesiętne, które zwykle widzisz, takie jak 492 i 35, mają „podstawę 10”, ponieważ zawierają 10 symboli progresywnych (cyfry od 0 do 9), które „przeturlaj się” na następne miejsce w lewo — następna „potęga dziesiątki”. Zamiast tego liczby binarne zawierają tylko dwa symbole (cyfry 0 i 1) i są „baza-2”. Każdy ruch w lewo od końca liczby to rosnąca potęga dwójki: Końcowe cyfry reprezentują 1, następne 2, następnie 4, 8, 16 i wkrótce.

  • Liczba dziesiętna to dowolna liczba w systemie o podstawie 10, niekoniecznie liczba zawierająca kropkę dziesiętną.

Przykłady liczb binarnych

Binarny "nybble" 0101 ma jedynki na 1 i 4 miejscu, a 0 na 2 i 8 miejscu. Zatem jego dziesiętny odpowiednik to 1 + 4 = 5.

Podobnie bajt 1001 1100 odpowiada 128 + 16 + 8 + 4 (28 + 25 + 24 + 23) = 156.

komplement liczby binarnej to po prostu liczba z „zamienionymi cyframi”. Na przykład uzupełnienie 1001 1100 = 0110 0011.

Konwersja liczb ujemnych na binarne

Sposób konwersji ujemnej liczby dziesiętnej na liczbę binarną jest prawdopodobnie zupełnie inny niż inne konwersje liczbowe osiągnęliście sukces, ponieważ wasz umysł, pomimo całego swojego względnego lenistwa, jest pod wieloma względami o wiele bardziej elastyczny niż jakikolwiek inny PROCESOR. Jest to jednak prosty proces.

Konwersja odbywa się za pomocą binarny dopełniacz do dwóch, który wymaga, aby programista poinstruował komputer, aby zinterpretował dowolną liczbę binarną zaczynającą się od 1 jako ujemną. Program wtedy konstruuje odpowiednią liczbę dodatnią w postaci binarnej, pobiera swoje uzupełnienie i dodaje jeden.

Na przykład, mając liczbę -47, komputer utworzy liczbę binarną dla +47:

0001 1111

Uzupełnieniem tego jest:

1110 0000

Dodanie jednego do tego daje:

1110 0001

Zwróć uwagę, że komputer „podpisał” te liczby, aby traktować wiodącą 1 jako ujemną i przetwarzać wyniki inaczej niż po prostu sumując potęgi 2 zajmowane przez symbol 1.

  • Dzielić
instagram viewer