Binaararitmeetika ja kahe täiend

Visualiseeri bittide kaalud, uuri märgiga esitusi ja jälgi arvutamist veergude kaupa.

Interaktiivse simulatsiooni laadimine...

Negatiivsete arvude loogika binaarsüsteemis 🖖

Kaasaegsetes arvutites esindatakse negatiivseid täisarve kahe komplementi abil. Kõige kõrgemal positsioonil olev bitt (MSB) toimib negatiivse kaaluna: 8-bitise täisarvu puhul esindab bitt 7 -128, mitte +128. Lahutamine muutub identseteks liitmisega: protsessor arvutab A - B kui A + (~B + 1), elimineerides eraldi lahutamise riistvara ja võimaldades ALU-l kasutada samu loogikaskeeme mõlema operatsiooni jaoks.

Kahendsüsteem on lihtsalt kohaväärtus alusel 2 🖖

Tavalistes arvudes on iga veerg kümme korda väärtuslikum kui temast paremal olev; kahendsüsteemis on tegur lihtsalt 2. Bitid kannavad (paremalt vasakule) kaalusid 1, 2, 4, 8, 16, 32, … Kahendarvu lugemine tähendab kaalude liitmist seal, kus on 1: 1011 on 8 + 0 + 2 + 1 = 11. Tööriista bitikaalude kuva laseb sul iga bitti lülitada ja jälgida jooksvat summat — see ongi kõigi siinsete teisenduste saladus.

Sinu protsessor korrutab nagu vene talupoeg 🖖

Siin näidatav pikk korrutamine — A kahekordistamine ja liitmine seal, kus B-l on 1-bitt — on täpselt „vene talupoja korrutamine", meetod, mida leidub juba üle 3000 aasta vanustel Egiptuse papüürustel. Üht arvu poolitatakse (jääke ära visates) ja teist kahekordistatakse, seejärel liidetakse kahekordistatud väärtused seal, kus poolitatud arv on paaritu. Poolitamine ja paarituse kontroll ongi sisuliselt kahendnumbrite lugemine, nii et iidne kirjatundja ja tänapäevane ALU käivitavad sama algoritmi.

Näiteülesanded