Kuinka muuntaa negatiiviset numerot binaariksi

Posted on
Kirjoittaja: Laura McKinney
Luomispäivä: 7 Huhtikuu 2021
Päivityspäivä: 17 Marraskuu 2024
Anonim
LDmicro 14: I2C LCD & DS3231 Real-Time Clock (Microcontroller PLC Ladder Programming with LDmicro)
Video: LDmicro 14: I2C LCD & DS3231 Real-Time Clock (Microcontroller PLC Ladder Programming with LDmicro)

Sisältö

Koska binaarilukujärjestelmässä on vain kaksi symbolia - 1 ja 0 -, jotka edustavat negatiivisia numeroita, ei ole niin yksinkertaista kuin miinusmerkin lisääminen eteen. On kuitenkin yksinkertaisia ​​tapoja edustaa negatiivinen luku binaarina. Tämä artikkeli tarjoaa kolme ratkaisua ongelmaan.


Käytä merkkibittiä

    Valitse bittien lukumäärä, jota käytät binäärilukujen esittämiseen. Kahdeksan bittistä numeroa on käytetty pitkään vakiona. Se oli alkuperäinen koko kokonaislukulle tietokoneohjelmoinnissa. Tietysti on myös pitkiä kokonaislukuja (16 bittiä). Huomaa: Jos käytät kahdeksan bittistä kokonaislukua, vain seitsemää bittiä käytetään edustamaan todellista lukusi.

    Valitse vasemmanpuoleisin bitti, jota käytetään merkkibittinä. Jos bitti on 0, luku on positiivinen. Jos se on 1, luku on negatiivinen.

    Kirjoita negatiivinen luku kaikilla kahdeksalla bitillä. Siksi numero -5 kirjoitettaisiin 10000101.

1s-komplimentin käyttäminen

    Kirjoita numero binaarina niin kuin tekisit, jos se olisi positiivinen. Kirjoita taas 5 numerolla 00000101 olettaen, että käytämme kahdeksan bittisiä kokonaislukuja.


    Käännä numerot - ts. 1s menee 0s ja 0s menee 1s. Siksi 5 tulee 11111010.

    Käytä vasemmanpuoleista bittiä merkkibittinä. Joten kuten merkkibitin käyttämisessä, positiivisilla numeroilla on kaikilla 0 johtava bitti (kun ne kirjoitetaan 8-bittisessä muodossa), kun taas kaikissa negatiivisissa numeroissa on johtava 1. Jos haluat käyttää numeroa, käytä merkkibitin tietoja ja käännä palaa takaisin numeerista arvoa varten.

2s-komplimentin käyttäminen

    Kirjoita luku ikään kuin se olisi positiivinen käyttämällä kaikkia kahdeksan bittiä. Joten 5 on 00000101.

    Käännä bittejä vaihtamalla 1 ja 0 samoin kuin teit yhden sekunnin kohteliaisudella. Joten jälleen 5: stä tulee 11111010.

    Lisää 1 numeroosi. Joten 5 muuttuu 11111010 + 00000001 = 11111011.

    Tarkista vastauksesi. Numero 11111011 muutetaan takaisin emäkseksi 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.