kvocient operacija ostanek (8 v dvojiški) 4 8:2 0 2 4:2 0 1 2:2 0 0 1:2 1 8 je torej v dvojiškem sistemu 1000 (ostanki zapisani od spodaj navzgor) kvocient operacija ostanek (10 v dvojiški) 5 10:2 0 2 5:2 1 1 2:2 0 0 1:2 1 10 je torej v dvojiškem sistemu 1010 kvocient operacija ostanek (29 v trojiški) 9 29:3 2 3 9:3 0 1 3:3 0 0 1:3 1 29 je torej v trojiškem sistemu 1002 Pretvorba nazaj v desetiški sistem je enostavna, obratna (če smo prej n krat po stopnjah delili, bomo sedaj osnovo potencirali, množili z ostankom in sešteli delne rezultate). Primera: -kot že vemo je 1010 v dvojiškem deset (10), preverimo 0*20 = 0 1*21 = 2 0*22 = 0 1*23 = 8 ---- vsota = 10 - 1002 je v trojiškem devetindvajset (29), preverimo 2*30 = 2 0*31 = 0 0*32 = 0 1*33 = 27 ---- vsota = 29
1)
-uporabil function vdesetiskix(osnova,stevilo) in jo implementiral v function vdesetiski(form) { form.result2.value = vdesetiskix(form.sis2.value,form.xx.value); } -uporabi jo spodaj Vpiši sistem iz katerega pretvarjaš (do 36): Vstavi nedesetiško število (ne uporabljaj exp. zapisa): Results2 (pretvorba v desetiški sistem):
Boolova algebra in logična vrata (IN, ALI, XALI, NE) Računanje z 1 in 0, računalniška logika. BOOLOva pravila za logična vrata: ALI vrata IN vrata XALI vrata NE vrata 0 ali 0 = 0 0 in 0 = 0 0 xali 0 = 0 ne 1 = 0 0 ali 1 = 1 0 in 1 = 0 0 xali 1 = 1 ne 0 = 1 1 ali 0 = 1 1 in 0 = 0 1 xali 0 = 1 1 ali 1 = 1 1 in 1 = 1 1 xali 1 = 0 Vsa ta vrat se seveda dajo zanikati z NE vrati, tako dobimo: NE IN, NE ALI, NE XALI vrata. a) Izberi znak (in(AND) = &, ali(OR) = |, xali(XOR)=^): x AND(&) OR(|) XOR(^) y=> z b) ne (NOT)=~ (binarno zanikanje, zmeraj glej zadnje desno mesto binarnih zapisov, 0 gre v 1 in 1 v 0) x NE(~)x ~ ( binarni zapis za x in za ~x ) (levi pomik << za 1 ~x) Kot vidimo je operacija zanikanja pomembna tudi za generiranje negativnih števil. 4) Računanje z 1 in 0, računalniška logika, BOOLOva pravila Pri Boolovi algebri se najprej izvede negacija "NE", nato "IN (&)" operacija in nazadnje "ALI (|)" operacija. a) Forma za izračun poljubnih boolovih izrazov (ročni vnos), recimo: 0 | (0 & ( 0 | 1 | 0 )) Rezultat b) Forma za izračun boolovih izrazov s kombinacijo treh spremenljivk (x,y,z). Zanikamo tako, da vnesemo velike črke: X=ne(x), Y=ne(y), Z=ne(z) Vpiši operacijo x y z izraz rezultat Nekaj kombinacij (testiraj): x | y & Z X | ( z & Y | x) x & Y | z & (Z | X & y | z) Y | (x & (Y | z | X)) Z & y & X | y & Z | x
5) Nekaj primerov računanja z binarnimi števili. Primeri dvojiškega seštevanja, odštevanja, dvojiški komplement, množenja Seštevanje (enaka pravila kot pri desetiškem sistemu, le da vse parcialne vsote spremenimo v dvojiški sistem): (3) 11 +(5) +101 --- ---- 8 1000 ( komentar, desni stolpič: 1+1=2 je v dvojiškem 10, 0 ohranimo 1 prenesemo v levo, naslednji stolpič: 1+0+1_prenos=2, kar je 10, 0 ohranimo 1 prenesemo, levi stolpič: 1+1_prenos=2, kar je 10, 0 ohranimo 1 gre za mesto levo, tako dobimo 1000, to je 8 ) (4) 100 +(6) +110 --- ---- 10 1010 (3) 11 +(5) +101 +(7) +111 --- ---- 15 1111 ( komentar, desni stolpič: 1+1+1=3, v dvojiškem je to 11, 1 ohranimo in levo enko prenesemo levo itd ) Odštevanje - dvojiški komplement Račun 16-12=4, lahko zapišemo kot seštevanje 16+(-12)=4, to logiko uporabi tudi računlnik pri odštevanju, odšteva torej tako, da prišteje negativno število. Poglejmo si preprost primer le za petmestna dvojiška števila ABCDE (ostala morebitna mesta na levi naš preprost računalnik odreže xyABCDE=ABCDE). Prvo levo število naj bo rezervirano za predznak (1 je plus +, 0 je minus -) 1BCDE je pozitivno število, 0ABCD pa negativno. Binarno 10000 je 16, ker pa je leva številka 1, hkrati nas zapis predstavlja negativno število -16. Kako lahko torej predstavimo števila od -16 do +15, primeri: -15 = -16 + 1 lahko predstavimo kot 10000 + 1 = 10001 -14 = -16 + 2 lahko predstavimo kot 10000 + 10 = 10010 . . . -9 = -16 + 7 .................... 10000 + 111 = 10111 . . . -3 = -16 + 13 .................... 10000 + 1101 = 11101 -2 = -16 + 14 .................... 10000 + 1110 = 11110 -1 = -16 + 15 .................... 10000 + 1111 = 11111 0 = 00000 1 = 00001 2 = 00010 . . . 14 = 01110 15 = 01111 Uporabimo zgornjo logiko pri odštevanju: -primer 12 - 4 = 8 (-4 = -16 +12 = 10000 + 1100 =11100; 12 = 1100 = 01100) + 12 01100 - 4 11100 --- ----- 8 101000 => 01000 = 8 ( dobimo 6 mest, a kot smo se že dogovorili, naš računalnik "odvečna" leva mesta odreže, na zapisu 101000 vidi samo 01000 kar je 8) -primer 7 - 16 = -9 + 7 00111 - 16 10000 --- ----- -9 10111 => -9 -primer -3 - 4 = -7 - 3 11101 - 4 11100 --- ----- -7 111001 => odrežemo skrajno levo mesto in dobimo 11001 = -7 Množenje Množenje z binarnimi števili je načeloma enako kot z desetiškimi. Vsota 1 + 0 je 1, vsota 1 + 1 = 2 v dvojiškem pa (10), 1 prenesemo (za mesto levo), 0 ohranimo. Enako velja za 1+1+1 =3, v dvojiškem 11, 1 ohranimi in 1 prenesemo; za 1+1+1+1+1 = 5 velja 1001, desno enko ohranimo, leve vrednosti prenesemo v levo. Glej primere. -primer 1 -primer 2 14X12 v dvojiškem sistemu => 101X11 | 14X12 ----- ------ | ----- 28 101 | 0000 +14 +101 | 0000 ----- ------ | 1110 168 1111 | 1110 | -------- | 10101000 to je (168) - primer 3 45X31 =1395 101101X11111 ------------ 101101 101101 101101 101101 101101 ----------- 10101110011 => 1395 (12243534211 - vsote zaradi seštevanja nad črto in binarnih ostankov ) Logična vrata in preproste operacije Polovični seštevalnik (half adder, H.A.), ki sešteva dve enomestni binarni števili (x+y=cs, 0+0=0=00, 0+1 ali 1+0=1=01, 1+1=2=10). c je prenos s je vsota. Testiraj spodnja vrata s signaloma x in y. (lahko narediš simulacijo z javascriptom) x+y=cs desetiška_vsota 0 0 00 0 0 1 01 1 1 0 01 1 1 1 10 2 Slika konbinacije vrat za polovični seštevalnik (half adder). Testiraj spodnjo shemo half adderja (x+y= ):
H.A. je half adder (polovični seštevalnik) x=(A0 A1 A2) je prvo trimestno dvojiško število, y=(B0 B1 B2) je drugo trimestno dvojiško število, z=(S0 S1 S2 S3) je dvojiški rezultat. Če (3+4=7) in 3 => x(A0=1, A1=1) in 4 => y(B0=0, B1=0, B3=1), na izhodu dobimo z(S0=1, S1=1, S2=1, S3=0)=7. 8 bitni seštevalnik 8 bitni seštevalnik. Zgornja vrsta predstavlja prvo in vrsta pod njo drugo dvojiško število. Spodnja vrsta je namenjena rezultatu. Rdeče črte so prenos (carry). Preveri rezultat na shemi. Opomba: (1 bit predstavlja eno mesto 1 ali 0), 8 bitov je en zlog ali byt (beri bajt).
število x: A7 0 1 A6 0 1 A5 0 1 A4 0 1 A3 0 1 A2 0 1 A1 0 1 A0 0 1
Se dopolnjuje!