You are on page 1of 47

"8,+9:(<31(51,5,.

(:0<50/
)861,<(;)05(8564909:,4;
 %+,*04(3564)861564909:,4;76>0:0<50
)861,<09,78,+9:(<31(1;>5(264FG
5(709(5040978,+*0-(8(261,+,-050D;
(7963;:5;<8,+569:)861(6+56956>5(264
FG>(5,.(:0<5,)861,<,
 %)05(8564)861564909:,4;1,;9<61,56
+(*0-8(5(4,9:;5(1<,?,:,E05,
78,+9:(<31(>5(20:6FG( FG!9:(3,
*0-8,+,-050D;(7963;:5;<8,+569:)861(
"804,8  05(850)861,<0 >(709(50
7646?;>5(2(0(7963;:5,<8,+569:0

 7 (10)  0111 (2)


 7 (10)  1111 (2)

 12 (10)  01100 (2)

 12 (10)  11100 (2)


 (+)05(8504)861,<04(78,+9:(<31,504
>5(2640(7963;:564<8,+56D?;:,D269,
<8D,(80:4,:0A2,67,8(*01, 9()08(51,
6+;>04(51,
 ,+(56+5(1A,D?,2680D?,50/5(A05(
78,+9:(<31(51(5,.(:0<50/)05(850/)861,<(
261049,8,D(<(.68,5(<,+,50786)3,41,
  
 6473,4,5:+<612,
 26+)861,<(>(709(50/;26473,4,5:;+<612,
5,.(:0<50)861,<004(1;1,+050*;(76>0:0<505;3;
>(78<;*0-8;
 6473,4,5:+<612,5,26.)861(9,<836
1,+569:(<5646E,5(709(:0:(26D:69,;51,.6<61
76>0:0<561)05(856178,+9:(<0 *0-8,05<,8:;1;
1,+050*, 9, >(4,5,5;3(4((5;3,1,+050*(4( 0
:(26+6)01,50)8619(),8,9( 
 "6>0:0<504)861,<04(46E,46+6+(<(:0<6+,?,
5;3,(5,.(:0<504<6+,?,1,+050*,(+(9,
<8,+569:)861(5,7864,50
"804,8
>8(A;5(<(51,
2643,4,5:(+<612,

 "8,+9:(<0:0)861 -7(10) ;26473,4,5:;


+<612,

7(10) = 0111( 2)
invertujemo sve cifre ⇒ dobijamo 1000
na dobijeni broj dodamo 1 ⇒ dobijamo1001
− 7(10) = 1001( 2)
"804,8 861,<0
>(709(50;26473,4,5:;+<612,

+ 5(10 ) = 0101( 2 ) = 0 ⋅ 23 + 1 ⋅ 2 2 + 0 ⋅ 21 + 1 ⋅ 2 0 = 4 + 1 = 5
− 5(10 ) = 1011( 2 ) = −1 ⋅ 23 + 0 ⋅ 2 2 + 1 ⋅ 21 + 1 ⋅ 2 0 = −8 + 2 + 1 = −5

+ 6(10 ) = 0110 ( 2 ) = 0 ⋅ 23 + 1 ⋅ 2 2 + 1 ⋅ 21 + 0 ⋅ 2 0 = 4 + 2 = 6
− 6(10 ) = 1010 ( 2 ) = −1 ⋅ 23 + 0 ⋅ 2 2 + 1 ⋅ 21 + 0 ⋅ 2 0 = −8 + 2 = −6
− 6(10 ) = 11010 ( 2 ) = −1 ⋅ 2 4 + 1 ⋅ 23 + 0 ⋅ 2 2 + 1 ⋅ 21 + 0 ⋅ 2 0 =
= −16 + 8 + 2 = −6

!+;>04(51,0
9()08(51, 6>5(A,50/ )861,<(
 861,<02610;A,9:<;1;;8(A;5920467,8(*01(4(
468(1;04(:0;5(78,+6+,8,C,50 )861*0-(8(
2(26)09,>5(36261(*0-8(78,+9:(<31(>5(2(
261,-68408(1;<8,+569:)861(
 $8,)(<6+0:08(A;5(+(780302646)(<31(51(
(80:4,:0A20/ 67,8(*01( 5,+6+1,+678,268(A,51(
<8,+569:0)861(261(9,46E,78,+9:(<0:0
;9<61,504)861,4*0-(8(05(A,;:6493;A(1;
6)(<,>56+63(>0+6.8,D2,
 #()08(51,06+;>04(51,9,6)(<31(76
78(<0304()05(856.9()08(51(06+;>04(51(
5,<6+,?08(A;5(6>5(2;76+;936<64+(
9,8,>;3:(:5(3(>0;5;:(8679,.()861,<(
26109,46.;78,+9:(<0:0;9<61,504)861,4
*0-(8(
 (7804,89( )05(85,*0-8,46.;?,1,
78,+9:(<0:0)861,<,;679,.;6+ +6
"804,8 #()08(51,)861,<(
>(709(50/;26473,4,5:;+<612,

+2 0010 +2 0010
+ +3 +0011 + −6 +1010
+5 0101 −4 1100

−5 1011 +6 0110
+ −1 +1111 + +7 + 0 1 1 1
−6 11010 +13 1 1 0 1 = −3
"804,8 !+;>04(51,)861,<(
>(709(50/;26473,4,5:;+<612,

A − B = A + (− B)
+4 0100 0100
− +2 −0010 → + 1110
+2 (1) 0 0 1 0

−7 1001 1001
− −3 −1101 → + 0011
−4 1100
!79,.)861,<(26109,46E,
>(709(:09(6+8,+1,504)861,4*0-(8(

 !79,.5,6>5(A,50/)861,<(

{ } n
x ∈ 0 ,1,..., 2 − 1 ⇒ 2 ≥ x + 1
n

gde je n broj upotrebljenih cifara

n = 4 ⇒ x ∈ {0 ,1,..., 15 } ⇒ 0 ≤ x ≤ 15
n = 8 ⇒ x ∈ {0 ,1,..., 255 } ⇒ 0 ≤ x ≤ 255
 !79,.)861,<(;26473,4,5:;+<612,

x ∈{− 2n−1 n−1


,...,−1,0,1,...,2 −1} ⇒ 2n-1
≥ x +1, x ≥ 0
⇒ 2n-1 ≥ x , x ≤ 0
gde je n broj upotrebljenih cifara

n = 4 ⇒ x ∈{− 8,...,−1,0,1,...,7}⇒ −8 ≤ x ≤ 7
n = 8 ⇒ x ∈{−128,...,−1,0,1,...,127}
⇒ −128 ≤ x ≤ 127
5-684(*01,78,+9:(<31,5, ;
)05(8564 )861564 909:,4;

 630A05(05-684(*01,6+1,+5,)05(85,*0-8,5(>0<(
9,)0:  )
 630A05(05-684(*01(6+)0:(5(>0<(9,)(1: 
 
)(1:(A05, 2036)(1: 
 
2036)(1:(A050 4,.()(1: 6+56956

= 
   )(1:(
 
4,.()(1:(A050 .0.()(1: 6+56956

= 
= 
   
)(1:(
,206+:076<(76+(:(2(26109,
26809:,;<0D04786.8(492041,>0*04(

Oznaka Pun naziv Broj Opseg koji se


bajta može predstaviti
INT Integer 2 -32768 do 32767
UNSIGNED INT Unsigned Integer 2 0 do 65535

LONG Long Integer 4 -2,147,483,648


do 2,147,483,647
CHAR Character 1 Brojevima 0 do 255 se
koduju karakteri ASCII
tabele

FLOAT Floating Point 4 1.2·10-38 ≤ |X| ≤


3.4·10+38
#4,80*(5#:(5+(8+6+,-68
5-684(:0655:,8*/(5.,:(),3(
'(709)861,<(9(7628,:504>(8,>64
 

 
 $076<0 $% #  $0! 9,26809:,>(
>(7090<(51,6>5(A,50/05,6>5(A,50/ 

)861,<('(8(>302;6+510/ :07!$9,26809:0>(
>(709  
)861,<()861,<(261004(1;
+,*04(35;:(A2;
 '(7098,(356.)861(; 7628,:564>(8,>; 9,9(9:610
6+93,+,?, 264765,5:,
 >5(2(
 ,29765,5:(0
 4(5:09,-8(2*01,
31 0
Znak Eksponent Mantisa
 &8,+569:)861(1,;67D:,493;A(1;
1,+5(2(
(ZNAK)MANTISA·2EKSPONENT
 &8,4,5649;9,8(><030)861509:(5+(8+0
2610+,-050D;2630269,)0:(26809:0>(261;
264765,5:;0; 264-684(:;02646)302;
9;264765,5:,>(709(5,"693,+510067D:,
780/<(?,509:(5+(8+>(>(709)861,<(;
7628,:564>(8,>;1,9:(5+(8+ 
#:(5+(8+ >(>(709
)861,<(9(7628,:504>(8,>64

 "69:(5+(8+; >(>(709)861(;
7628,:564>(8,>;26809:09,
 )0:>(>5(2
 )0:(>(,29765,5:

)0:(>(4(5:09;
 8611,76>0:0<(5(26)05(85(*0-8(261(
78,+9:(<31(>5(204(<8,+569:6+56956
5,.(:0<(5(26*0-8(>5(2(04(<8,+569: 
29765,5:
 29765,5:9,76 78,+9:(<31(9(
)0:(0:62(6:(26><(50;<,?(50,29765,5:
()09,+6)03(78(<(<8,+569:,29765,5:(
76:8,)561,6+;>,:0<8,+569:>(261;1,65
;<,?(5"69:(5+(8+; ,29765,5:9,
;<,?(<(>(

 (269,9()0:(46.;>(709(:0+,*04(350
)861,<06++6
;4(51,51,4>(

<8,+569:,29765,5:(46E,+();+,;
679,.;6+ 
+6

(5:09(

 (5:09(9,76 78,+9:(<31(9(
)0:(
,2(9;*0-8,4(5:09,6),3,E,5,9(4 +64

76A,<D09(3,<(5(+,956$(+(9,+,*04(35(
<8,+569:4(5:09,+6)01(5(93,+,?05(A05
MANTISA(10)=20+m12-1+m22-2+m32-3+...+m232-23

 %9<61,561,+(9,+,*04(350)8615;3(76
9:(5+(8+; >(709;1,2(69<,5;3,

5;3,0302(6 09<,5;3, 1,+050*(0 5;3(


"804,86+8,+0:0+,*04(35;<8,+569:
)861(>(709(56.;7628,:564>(8,>;

0 10000010 11100000000000000000000
Znak: cifra znaka je 0 → broj je pozitivan
Eksponent: 128+2-127 = 3
Mantisa: 20+2-1+2-2+2-3 = 1+1/2+1/4+1/8 = 15/8
Vrednost broja: +15/8·23 = +15/8·8 = +15
&,E),
!>5(A,50)05(850)861,<0

 "8,+9:(<0:0;26473,4,5:;+<612,93,+,?,
)861,<,
( 

)  
*  
+  
( 

Prvo se određuje broj binarnih cifara n potrebnih za zapis broja u
komplementu dvojke. n se određuje na osnovu sledećih jednačina:
2 n -1 ≥ x + 1 , x ≥ 0
2 n -1 ≥ x , x < 0
Kako je x = -26, iz jednačina dobijamo da je n=6.
Kada smo utvrdili koliko je n, zapisujemo broj +26 u binarnom
formatu koristeći n cifara.
+26(10)=011010(2),
Invertovanjem cifara i sabiranjem sa 1 dobijamo vrednost za -26.
-26(10)=100101+1=100110(2)
)  
Za x = -57 dobijamo da je 2n-1≥57, odnosno n=7.
57:2=28 (1)
28:2=14 (0)
14:2=7 (0)
7:2=3 (1)
3:2=1 (1)
1:2=0 (1)

57(10)=0111001(2)
-57(10)=1000110+1=1000111(2)
*  
Za x = -368 dobijamo da je 2n-1≥368, odnosno n=10.
368:2=184 (0)
184:2=92 (0)
92:2=46 (0)
46:2=23 (0)
23:2=11 (1)
11:2=5 (1)
5:2=2 (1)
2:2=1 (0)
1:2=0 (1)

368(10)=0101110000(2)
-368(10)=1010001111+1=1010010000(2)
+  
Za x = -546 dobijamo da je 2n-1≥546, odnosno n=11.
546:2=273 (0)
273:2=136 (1)
136:2=68 (0)
68:2=34 (0)
34:2=17 (0)
17:2=8 (1)
8:2=4 (0)
4:2=2 (0)
2:2=1 (0)
1:2=0 (1)
546(10)=01000100010(2)
-546(10)=10111011101+1=10111011110(2)
 >8(A;5(:0+,*04(35;<8,+569:6>5(A,50/
)05(850/)861,<(78,+9:(<31,50/;
2643,4,5:;+<612,
( 10001010100(2)
) 1101110101(2)
* 0100100(2)
( 10001010100(2)=-1024+64+16+4=-940(10)

) 1101110101(2)=
=-512+256+64+32+16+4+1=-139(10)
1101110101(2)=101110101(2)=
=-256+64+32+16+4+1=-139(10)

* 0100100(2)=32+4=+36(10)
 63026*0-(8(1,76:8,)56+()09,>(709(30
93,+,?0 6>5(A,50 )861,<0 ;)05(8564
-684(:;2(6 26473,4,5:+<612,
( 
) 
*
+ 
2 n -1 ≥ x + 1 , x ≥ 0
2 n -1 ≥ x , x < 0
20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64, 27=128, 28=256

a. X=67 → 2n-1 ≥ 68 → n-1=7 → n=8


b. X=-34 → 2n-1 ≥ 34 → n-1=6 → n=7
c. X=63 → 2n-1 ≥ 64 → n-1=6 → n=7
d. X=-88 → 2n-1 ≥ 88 → n-1=7 → n=8
 63026*0-(8(1,76:8,)56+()09,>(709(30
93,+,?0 5,6>5(A,50 )861,<0 ;)05(8564
-684(:;
(
)
*

+

2n ≥ x + 1

20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64,


27=128, 28=256, 29=512

a. X=34 → 2n ≥ 35 → n=6
b. X=68 → 2n ≥ 69 → n=7
c. X=320 → 2n ≥ 321 → n=9
d. X=127 → 2n ≥ 128 → n=7
#()08(51,6>5(A,50/)05(850/)861,<(
78,+:9(<31,50/;26473,4,5:;+<612,

1. 11111110
+103 01100111
+ -98 +10011110
+5 (1)00000101

2. 11000111
+87 01010111
+-27 +11100101
+60 (1)00111100
3. 0111000
+24 00011000
+-72 +10111000
-48 11010000
!+;>04(51,6>5(A,50/)05(850/)861,<(
78,+9:(<31,50/;26473,4,5:;+<612,

1.
+24 00011000 00011000
-+67 -01000011 +10111101
-43 11010101

2.
+42 00101010 00101010
--82 -10101110 +01010010
+124 01111100
3.
-48 11010000 11010000
--45 -11010011 +00101101
- 3 11111101
 6302(1,+,*04(35(<8,+569:93,+,?0/)861,<(
>(709(50/;7628,:564>(8,>;
a. 01000001011100000000000000000000(2)
b. 00111100100000000000000000000000(2)
c. BF1A0000(16)
 0 10000010 11100000000000000000000
Znak: cifra znaka je 0 → broj je pozitivan
Eksponent: 128+2-127 = 3
Mantisa: 20+2-1+2-2+2-3 = 1+1/2+1/4+1/8 = 15/8
Vrednost broja: +15/8·23 = +15/8·8 = +15
 0 01111001 00000000000000000000000
Znak: cifra znaka je 0 → broj je pozitivan
Eksponent: 64+32+16+8+1-127 = -6
Mantisa: 20 = 1
Vrednost broja: +1·2-6 = +1/64 = +0.015625
 BF1A0000(16)=
1011 1111 0001 1010 0000 0000 0000 0000(2)=
1 01111110 00110100000000000000000=
Znak: cifra znaka je 1 → broj je negativan
Eksponent: 64+32+16+8+4+2-127 = -1
Mantisa: 20+2-3+2-4+2-6 = 1+1/8+1/16+1/64 = 77/64
Vrednost broja: -77/64·2-1 = -77/128 = -0.6015625
"8,:<(8(51,)861,<(
    
   
  
 
 
   
 6101,5(1<,?005(14(510+,*04(350)861
26109,46E,7802(>(:09)0:(;8(A;5(8;;
93;A(1;+(7802(>;1,4678086+5,)861,<,(
2610;93;A(1;+(7802(>;1,46*01,3,)861,<,
+<61504 26473,4,5:64
 "8,:<680:,931,+,?,)05(85,)861,<,;
+,2(+5, 

     

  
  
 6101, 5(4(510 0 5(1<,?0 )861 2610 9, 46E,
7802(>(:0 9(  )0:(  (26 9, 7802(>;1; 0
5,.(:0<50 )861,<0
 "8,:<680:,931,+,?,)05(85,)861,<,;
+,2(+5, 

    
   

  
 "8,:<680:,931,+,?, /,29( )861,<,;
)05(85,
   %93;A(1;
76:8,),>(628;E0:,)05(850)8615(41,9:(
+,9566+:(A2,

You might also like