Professional Documents
Culture Documents
Dio
0 pozitivan broj
1 negativan broj
00100011
11011100
00100011
11011100
+ 1
11011101
31 30 23 22 0
P K F
• P (1 bit) je bit predznaka za koji vrijedi:
• 0 znači +
• 1 znači -
1,18·10-38 ≤ X ≤ 3,41·10+38
Iz formule za X:
X = (-1)1 * 1,012 * 2-1 = -1 * 1,25 * 0.5
X = -0.625
• NBC 1+4+16+128=149
• prikaz s bitom za predznak negativan, -(1+4+16) = -21
• 1'k negativan, -(01101010) = - (2+8+32+64) = -106
početni podatak
?
prošireni podatak
početni podatak
prošireni podatak
Drugi broj:
10011000001110000000
00000000000010011000001110000000
početni podatak
prošireni podatak
• Broj 0101 ima iznos +510, a nakon proširenja dobivamo 00000101 što i
dalje iznosi +510
• Broj 1110 ima iznos -210, a nakon proširenja dobivamo 11111110 što je
i dalje broj -210
Drugi broj:
1 0011000001110000000
1111111111111 0011000001110000000
A3 B3 A2 B2 A1 B1 A0 B0
A B A B A B A B
C4 C3 C2 C1 C0
Cout FA Cin Cout FA Cin Cout FA Cin Cout FA Cin
S S S S
S3 S2 S1 S0
B3 B2 B1 B0
A3 A2 A1 A0
A B A B A B A B
C4 C3 C2 C1 C0
Cout FA Cin Cout FA Cin Cout FA Cin Cout FA Cin 1
S S S S
S3 S2 S1 S0
12 4
9+13=22 11 5
22%16=6
10 6
9 7
© Kovač, Basch, FER, Zagreb
8 48
1.4.2. Zastavice
A3 B3 A2 B2 A1 B1 A0 B0
A B A B A B A B
C4 C3 C2 C1 C0
Cout FA Cin Cout FA Cin Cout FA Cin Cout FA Cin
S S S S
S3 S2 S1 S0
predznak NOR
ništica
prijenos (carry) c = Cn
preljev (overflow) ov = Cn xor Cn-1
predznak (sign, negative) s = Sn-1
ništica (zero) z = not (S0 or S1 or ... or Sn-1)
+ –
NBC prijenos = 1 prijenos = 0
Zapis
podataka preljev = 1 preljev = 1
2'k
0111 1001
5 0101 9 1001
+ 3 + 0011 + 13 + 1101
8 1000 22 0110
OK GREŠKA
5
11
10 6
9 7
8
© Kovač, Basch, FER, Zagreb 60
Greške - Zbrajanje NBC brojeva i
0
Ilustrirajmo 9+13 15 1
na brojevnoj 14 2
kružnici
13 3
9+13=22
"Prelazak" preko
22 % 16 = 6 ishodišta je greška 4
12
5
11
10 6
9 7
8
© Kovač, Basch, FER, Zagreb 61
Greške - Oduzimanje NBC brojeva i
• Prilikom oduzimanja jedina greška koja može nastati je da rezultat
bude manji od donje granice opsega 0, tj. da rezultat bude
negativan
• Kad oduzimamo "na papiru", onda sortiramo brojeve po veličini, a
rezultatu promijenimo predznak. Mogli bi ih ostaviti u početnom
rasporedu, a u slučaju pojave posudbe napravimo operaciju desetog
komplementa (analogno dvojnom komplementu) te promijenimo
predznak (npr. 2-5="7 i jedan dalje", deseti komplement od 7 je 3,
promijenimo predznak od 3 i dobivamo rezultat -3)
OK GREŠKA
0011 0100
(+1) 0001 (+5) 0101
+ (+3) + 0011 + (+4) + 0100
(+4) 0100 OK (+9) 1001 GREŠKA
1100 1000
(-2) 1110 (-7) 1001
+ (-3) + 1101 + (-2) + 1110
(-5) 1011 OK (-9) 0111 GREŠKA
0011 0100
(+1) 0001 (+5) 0101
+ (+3) + 0011 + (+4) + 0100
(+4) 0100 OK (+9) 1001 GREŠKA
1100 1000
(-2) 1110 (-7) 1001
+ (-3) + 1101 + (-2) + 1110
(-5) 1011 OK (-9) 0111 GREŠKA
0011 0100
(+1) 0001 (+5) 0101
+ (+3) + 0011 + (+4) + 0100
(+4) 0100 OK (+9) 1001 GREŠKA
1100 1000
(-2) 1110 (-7) 1001
+ (-3) + 1101 + (-2) + 1110
(-5) 1011 OK (-9) 0111 GREŠKA
0011 0100
(+1) 0001 (+5) 0101
+ (+3) + 0011 + (+4) + 0100
(+4) 0100 OK (+9) 1001 GREŠKA
1100 1000
(-2) 1110 (-7) 1001
+ (-3) + 1101 + (-2) + 1110
(-5) 1011 OK (-9) 0111 GREŠKA
0011 0100
(+1) 0001 (+5) 0101
+ (+3) + 0011 + (+4) + 0100
(+4) 0100 OK (+9) 1001 GREŠKA
1100 1000
(-2) 1110 (-7) 1001
+ (-3) + 1101 + (-2) + 1110
(-5) 1011 OK (-9) 0111 GREŠKA
0011 0100
(+1) 0001 (+5) 0101
+ (+3) + 0011 + (+4) + 0100
(+4) 0100 OK (+9) 1001 GREŠKA
1100 1000
(-2) 1110 (-7) 1001
+ (-3) + 1101 + (-2) + 1110
(-5) 1011 OK (-9) 0111 GREŠKA
00 11 Zbrajanje dvaju
0... 0... brojeva različitih
+ 1... + 1... predznaka
1... 0...
00 01
0... 0... Zbrajanje dvaju
+ 0... + 0... pozitivnih brojeva
0... 1... GREŠKA
11 10
1... 1... Zbrajanje dvaju
+ 1... + 1... negativnih brojeva
1... 0... GREŠKA
00 11
0... 0...
+ 1... + 1...
1... 0...
00 01
0... 0...
+ 0... + 0...
0... 1... GREŠKA Grešku
prepoznajemo kad su
11 10 C3 i C4 različiti
1... 1...
+ 1... + 1...
1... 0... GREŠKA
• Razlog je taj što se oduzimanje dvaju 2'k brojeva X-Y može svesti
na zbrajanje X+(-Y)
0 0 0 1 0 0 1 0 1 1 0 0
0 0 0 1 0 0 1 0 1 1 0 0
0 0 0 1 0 0 1 0 1 1 0 0
0 0 0 1 0 0 1 0 1 1 0 0
0 0 0 1 0 0 1 0 1 1 0 0
?
0 0 0 1 0 0 1 0 1 1 0 0 0
0 0 0 0 1 0 0 1 0 1 1 0 0
0 0 0 1 0 0 1 0 1 1 0 0
1 0 0 1 0 0 1 0 1 1 0 0
1 0 0 1 0 0 1 0 1 1 0 0
• Ako 8-bitni broj 1000 1111 rotiramo u lijevo, dobijemo rezultat: 0001
1111
0011 0011
ILI 0101 EX-ILI 0101
0111 0110
0011 0011
NI 0101 EX-NILI 0101
1110 1001