Merkittyjen lukujen esitystavat

Merkittyjen lukujen esitystapoja käytetään ratkaisemaan ongelma, joka liittyy negatiivisten kokonaislukujen esittämiseen binäärinä. Kun yritetään tallentaa binääriluvun negatiivinen merkki (-), ongelmana on se, että jäljellä ei ole enää tiloja, joilla negatiivista tehtävää voitaisiin esittää. Ei ole mahdollista käyttää vain "off" miinukselle ja "on" plussalle, koska tietokone ei voisi tietää, onko kyseessä numero vai merkki.

Tämän ongelman ratkaisemiseksi tietokoneiden suunnittelijat keksivät kaksi menetelmää negatiivisten binäärilukujen tallentamiseen: merkki- ja suuruusluokka ja 2:n komplementti. Nämä tuottavat vaihtoehtoisia esitystapoja merkityille luvuille.

 

Sign-and-magnitude

Sign and Magnitude toimii muuttamalla merkitsevimmän bitin (MSB - ensimmäinen numero) 1:ksi, jos luku on negatiivinen, ja vähentämällä lukua esimerkiksi yhdellä:

0000 0010 (2)

tulee...

1000 0010 (-2)

Tämä menetelmä negatiivisten binäärilukujen tallentamiseen ei toimi, koska:

  • Binääriaritmetiikka ei toimi.
  • Meidän on ensin tiedettävä, mitä tallennusmekanismia tietyn kielen kääntäjä käyttää.
 

1:n komplementti

1:n komplementti toimii esimerkiksi vaihtamalla 1:t 0:ksi ja 0:t 1:ksi:

0000 0010 (2)

tulee...

1111 1101 (-2)

Tämä on helposti määriteltävissä negatiiviseksi luvuksi, koska sen merkitsevin bitti on 1, aivan kuten sign-and-magnitude-menetelmässä.

 

2:n komplementti

2:n komplementti on vaikeampi tapa tallentaa negatiivit. Siinä on kolme vaihetta:

  1. Etsi positiivinen binääriluku (esim. 8base 10 = 0000 1000base 2).
  2. Vaihda 1:t 0:ksi ja 0:t 1:ksi (esim. 0000 1000base 2 muuttuu 1111 0111base 2:ksi).

Tämä tunnetaan nimellä "bittien kääntäminen" eli loogisen EI:n soveltaminen alkuperäiseen base 2 -esitykseen.

  1. Lisää 1 (esim. 1111 0111base 2 + 1base 2 = 1111 1000base 2).

Tästä menetelmästä pidetään, koska:

  • Se on kuin merkki ja suuruus; negatiivinen luku alkaa 1:llä ja positiivinen luku alkaa 0:lla.
  • Binääriaritmetiikka toimii.
  • 0:lle on vain yksi arvo (0000 0000base 2).
 

AlegsaOnline.com - 2020 / 2023 - License CC3