Как да конвертирате отрицателни числа в двоични

Почти със сигурност сте чували за отрицателни числа. Ако сте били малко изложени на света на компютърните науки и компютърното програмиране, концепцията за двоичните числа не е съвсем чужда. Но освен ако не сте изследвали света на програмирането лично, вероятно никога не сте работили по същество с двоични числа.

Тъй като компютрите не могат да „мислят“ или „решават“ сами, но могат да следват наредени инструкции с неизменна точност, математиците отдавна дойдоха с начин за компютри (или достатъчно търпеливи хора) да правят събиране, изваждане и други математически операции, използвайки само цифрите 0 и 1.

Но има ли начин да се комбинират тези две идеи, за да се получат отрицателни числа? Дали е толкова просто, колкото да кажеш на машина да залепи малка хоризонтална лента пред съществуващ номер а-ла писалка и хартия, или факторът „битове и байтове“ прави нещата по-ангажирани?

Какво представляват двоичните числа?

Компютрите разполагат с огромно количество обработваща мощност и дори стар клънкер може да извършва изчисления със скорост, която би изглеждала неразбираема дори за най-аритметично надарените човешки същества. Но те не са мозъци и единственият начин да ги накарате да боравят със сложна информация е да предадат всичко възможно в едно от двете състояния, например ВКЛ или ИЗКЛ.

instagram story viewer

В "компютър-ese" единично 0 или 1 се означава като a малко. Групите от тях включват nybble (4 бита), добре познатата байт (8), дума (1) и дълга дума (32).

Десетичните числа, които обикновено виждате, като 492 и 35, са "base-10", тъй като включват 10 прогресивни символа (цифрите от 0 до 9), които "преобръщане" на следващото място вляво - следващото "степен на 10." Вместо това двоичните числа включват само два символа (цифрите 0 и 1) и са „база-2“. Всяко движение наляво от края на числото е нарастваща степен на две: Крайните цифри представляват 1, следващите 2, след това 4, 8, 16 и скоро.

  • Десетичното число е всяко число в системата base-10, не е задължително число, което включва десетична точка.

Примери за двоични числа

Двоичният "nybble" 0101 има 1 на 1 и 4 място и 0 на 2 и 8 място. По този начин неговият десетичен еквивалент е 1 + 4 = 5.

По същия начин байтът 1001 1100 е еквивалентен на 128 + 16 + 8 + 4 (28 + 25 + 24 + 23) = 156.

The допълнение на двоично число е просто числото с "превключени" цифри. Например допълнението от 1001 1100 = 0110 0011.

Преобразуване на отрицателни числа в двоични

Как преобразувате отрицателно десетично число в двоично число вероятно е доста различно от други цифрови преобразувания Вие сте се представили, защото умът ви, въпреки цялата си сравнителна леност, е много по-гъвкав в повечето начини от всеки друг ПРОЦЕСОР. Това обаче е пряк процес.

Преобразуването се извършва с помощта на двоично допълнение на два, което изисква програмистът да инструктира компютъра да тълкува всяко двоично число, започващо с 1 като отрицателно. Програмата тогава конструира съответното положително число в двоично, взема неговото допълнение и добавя едно.

Например, като се има предвид числото -47, компютърът ще създаде двоичното число за +47:

0001 1111

Допълнението към това е:

1110 0000

Добавянето на едно към това дава:

1110 0001

Имайте предвид, че компютърът е "подписал" тези числа, за да третира водеща 1 като отрицателна и да обработи резултатите по различен начин, отколкото просто да събере степента на 2, заета от символа 1.

Teachs.ru
  • Дял
instagram viewer