Jūs gandrīz noteikti esat dzirdējuši par negatīviem skaitļiem. Ja esat kaut nedaudz saskāries ar datorzinātņu un datorprogrammu pasauli, bināro skaitļu jēdziens nav pilnīgi svešs. Bet, ja vien neesat personīgi izpētījis programmēšanas pasauli, iespējams, nekad neesat pamatīgi strādājis ar binārajiem skaitļiem.
Tā kā datori paši nevar "domāt" vai "izlemt", bet var izpildīt sakārtotas instrukcijas ar nezūdošu precizitāti, matemātiķi jau sen ieradās līdz ar veidu, kā datori (vai pietiekami pacietīgi cilvēki) var veikt saskaitīšanas, atņemšanas un citas matemātiskas darbības, izmantojot tikai ciparus 0 un 1.
Bet vai ir veids, kā apvienot šīs divas idejas, lai iegūtu negatīvus skaitļus? Vai tas ir tik vienkārši, kā likt mašīnai pielīmēt nelielu horizontālu joslu priekšā esošā skaitļa a la pildspalva un papīrs priekšā, vai arī faktors "biti un baiti" padara lietas vairāk iesaistītas?
Kas ir binārie skaitļi?
Datoriem ir ārkārtīgi liela apstrādes jauda, un pat vecs klunkers var veikt aprēķinus tādā ātrumā, kas pat aritmētiski apdāvinātākajam cilvēkam šķiet nesaprotams. Bet tās nav smadzenes, un vienīgais veids, kā panākt, lai tās apstrādātu sarežģītu informāciju, ir visu iespējamo novirzīt uz vienu no diviem stāvokļiem, piemēram, IESLĒGTS vai IESLĒGTS.
"Datorā" viens 0 vai 1 tiek saukts par a mazliet. To grupas ietver grauzt (4 biti), labi pazīstams baits (8), vārdu (1) un garš vārds (32).
Decimāldaļskaitļi, kurus parasti redzat, piemēram, 492 un 35, ir "bāzes-10", jo tajos ir 10 pakāpeniski simboli (cipari no 0 līdz 9), kas "apgāzt" uz nākamo vietu pa kreisi - nākamo "jaudu 10". Tā vietā bināros skaitļos ir tikai divi simboli (cipari 0 un 1) un tie ir "bāze-2". Katrs kreisais solis no skaitļa beigām ir divu pieaugoša jauda: beigu cipari apzīmē 1, nākamos 2, pēc tam 4, 8, 16 un tā tālāk.
- Decimāldaļa ir jebkurš skaitlis bāzes 10 sistēmā, ne vienmēr skaitlis, kas ietver decimāldaļu.
Bināro skaitļu piemēri
Binārajam "nybble" 0101 ir 1 vienā vietā un 4 vietā, un 0 ir 2 un 8 vietā. Tādējādi tā decimālais ekvivalents ir 1 + 4 = 5.
Līdzīgi baits 1001 1100 ir līdzvērtīgs 128 + 16 + 8 + 4 (28 + 25 + 24 + 23) = 156.
The papildināt binārā skaitļa skaitlis ir tikai skaitlis, kura cipari ir "pārslēgti". Piemēram, papildinājums 1001 1100 = 0110 0011.
Negatīvo skaitļu konvertēšana uz bināriem
Tas, kā jūs negatīvo decimāldaļu pārvēršat par bināru skaitli, iespējams, ir diezgan atšķirīgs no citiem skaitliskajiem pārveidojumiem jūs esat uzstājies tāpēc, ka jūsu prāts, neskatoties uz visu salīdzinošo sliņķi, vairumā veidu ir daudz elastīgāks nekā jebkurš cits PROCESORS. Tomēr tas ir vienkāršs process.
Konvertēšana tiek veikta, izmantojot a divu papildinājums binārs, kas prasa, lai programmētājs uzdotu datoram jebkuru bināro skaitli, kas sākas ar 1, interpretēt kā negatīvu. Programma tad konstruē atbilstošo pozitīvo skaitli binārā formā, paņem tā papildinājumu un pievieno vienu.
Piemēram, ņemot vērā skaitli −47, dators izveidos bināro skaitli +47:
0001 1111
Papildinājums tam ir:
1110 0000
Pievienojot vienu šim, iegūst:
1110 0001
Ņemiet vērā, ka dators ir "parakstījis" šos skaitļus, lai skaitli 1 uzskatītu par negatīvu un rezultātus apstrādātu citādi, nekā vienkārši saskaitot skaitļa 2 jaudas, ko aizņem simbols 1.