Negatiivsetest arvudest olete peaaegu kindlasti kuulnud. Kui olete kasvõi pisut kokku puutunud arvutiteaduse ja arvutiprogrammeerimisega, pole kahendarvude mõiste täiesti võõras. Kuid kui te pole programmeerimismaailma isiklikult uurinud, pole te tõenäoliselt kunagi binaararvudega sisuliselt töötanud.
Kuna arvutid ei saa iseseisvalt "mõelda" ega "otsustada", vaid suudavad järgida tellitud juhiseid vaibumatu täpsusega, tulid matemaatikud juba ammu arvutite (või piisavalt kannatlike inimeste) viis teha liitmis-, lahutamis- ja muid matemaatilisi toiminguid, kasutades ainult numbreid 0 ja 1.
Kuid kas on võimalik neid kahte ideed ühendada negatiivsete arvude saamiseks? Kas see on nii lihtne kui käskida masinale väike horisontaalne riba olemasoleva numbri a la pliiatsi ja paberi ette kleepida või muudab "bittide ja baitide" tegur asju rohkem kaasatuks?
Mis on binaararvud?
Arvutitel on tohutult palju töötlemisvõimsust ja isegi vana klunker suudab arvutada kiirusega, mis tunduks isegi aritmeetiliselt andekamale inimesele arusaamatu. Kuid need ei ole ajud ja ainus viis, kuidas neid keerulise teabega ümber käima saada, on viia kõik võimalik ühte kahest olekust, nt ON või OFF.
Väljaandes "arvuti" viidatakse ühele 0-le või 1-le kui a-le natuke. Nende rühmade hulka kuuluvad näksima (4 bitti), tuntud bait (8), sõna (1) ja pikk sõna (32).
Kümnendarvud, mida tavaliselt näete, nagu 492 ja 35, on "baas-10", kuna need sisaldavad 10 progressiivset sümbolit (numbrid 0 kuni 9), mis "veereta" järgmisse vasakpoolsesse kohta - järgmine "võimsus 10" Binaararvud sisaldavad selle asemel ainult kahte sümbolit (numbrit 0 ja 1) ja on "alus-2". Iga vasakpoolne käik numbri lõpust on kahe suurenev jõud: lõpunumbrid tähistavad 1, järgmised 2, seejärel 4, 8, 16 ja nii edasi.
- Kümnendarv on suvaline arv baas-10 süsteemis, mitte tingimata arv, mis sisaldab kümnendkohta.
Binaararvude näited
Binaarsel "nybble" 0101-l on 1-d 1 ja 4 kohal ning 0-d 2 ja 8 kohal. Seega on selle kümnendkoha ekvivalent 1 + 4 = 5.
Samamoodi on bait 1001 1100 samaväärne 128 + 16 + 8 + 4 (28 + 25 + 24 + 23) = 156.
The täiendama binaararvu number on lihtsalt number, mille numbrid on "ümber lülitatud". Näiteks täiend 1001 1100 = 0110 0011.
Negatiivsete arvude teisendamine binaarseks
See, kuidas teisendate negatiivse kümnendarvu binaararvuks, on ilmselt üsna erinevalt teistest numbrilistest teisenditest olete esinenud seetõttu, et teie mõistus on kogu oma võrdleva laiskuse tõttu enamikus viisides palju paindlikum kui ükski teine PROTSESSOR. See on siiski sirgjooneline protsess.
Teisendamine toimub a abil kahe komplementaarne binaarne, mis nõuab programmeerijalt arvuti ülesandeks tõlgendada mis tahes binaararvu algusega 1 negatiivsena. Programm siis konstrueerib vastava positiivse arvu binaarsena, võtab selle täienduse ja lisab ühe.
Näiteks, kui arv on −47, loob arvuti kahendarvu +47 jaoks:
0001 1111
Selle täiendus on:
1110 0000
Sellele ühe lisamine annab:
1110 0001
Pange tähele, et arvuti on nendele numbritele "alla kirjutanud", et käsitleda juhtnumbrit 1 negatiivsena ja töödelda tulemusi teisiti, kui liites lihtsalt sümboliga 1 hõivatud 2 võimsused.