23.02.2014 Views

Datoraritmetik - Institutionen för informationsteknologi

Datoraritmetik - Institutionen för informationsteknologi

Datoraritmetik - Institutionen för informationsteknologi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Representation av reellt tal<br />

Exempel, ett litet flyttalssystem<br />

Representation av reellt tal<br />

Exempel, ett litet flyttalssystem<br />

Informationsteknologi<br />

0 1 2 3 4 5 6 7<br />

+++<br />

+ + + + + + + +<br />

e=0<br />

underflow<br />

e=1<br />

e=2<br />

underflow<br />

Flyttalen ej jämnt representerade – större<br />

tal ger glesare representation<br />

När ett reellt tal ska lagras i datorns minne,<br />

avrundas det och hamnar på närmaste linje<br />

på tallinjen<br />

Informationsteknologi<br />

0 1 2 3 4 5 6 7<br />

+ ++ ++ * + + + + * + + * +<br />

Några tester<br />

2.2 + 4.5:<br />

fl( fl(2.2)+fl(4.5) ) = fl(2.0+4.0) = fl(6.0) = 6.0<br />

Exakt: 6.7<br />

Absolut fel: |6.7-6.0|= 0.7<br />

Relativt fel: |6.7-6.0|/ |6.7|= 0.1045 = 10.45%<br />

<strong>Institutionen</strong> för <strong>informationsteknologi</strong> | www.it.uu.se<br />

<strong>Institutionen</strong> för <strong>informationsteknologi</strong> | www.it.uu.se<br />

Representation av reellt tal<br />

Exempel, ett litet flyttalssystem<br />

Representation av reellt tal<br />

Exempel, ett litet flyttalssystem<br />

Informationsteknologi<br />

0 1 2 3 4 5 6 7<br />

+ ++ ++ + + + + + + +<br />

(2.2 + 4.5) - 1.2:<br />

fl(fl( fl(2.2)+fl(4.5) ) - fl(1.2)) = fl(6.0 - 1.25) =<br />

fl(4.75) = 5.0<br />

Exakt: 5.5<br />

Absolut fel: |5.5-5.0|= 0.5<br />

Relativt fel: |5.5-5.0|/ |5.5|= 0.0909 = 9.09%<br />

Informationsteknologi<br />

0 1 2 3 4 5 6 7<br />

+ ++ ++ + + + + + + +<br />

2.2 + (4.5 - 1.2):<br />

fl( fl(2.2)+fl(fl(4.5) - fl(1.2))) =<br />

fl( 2.0+fl(4.0 - 1.25))= fl(2.0+fl(2.75))=fl(2.0+2.5)=<br />

= fl(4.5) = 4.0<br />

Exakt: 5.5<br />

Absolut fel: |5.5-4.0|= 1.5<br />

Relativt fel: |5.5-4.0|/ |5.5|= 0.2727 = 27.27%<br />

<strong>Institutionen</strong> för <strong>informationsteknologi</strong> | www.it.uu.se<br />

<strong>Institutionen</strong> för <strong>informationsteknologi</strong> | www.it.uu.se<br />

Representation av reellt tal<br />

Exempel, ett litet flyttalssystem<br />

Representation av reellt tal<br />

Exempel, ett litet flyttalssystem<br />

Informationsteknologi<br />

0 1 2 3 4 5 6 7<br />

+ ++ ++ + + + + + + +<br />

3.3∗(4.5 - 1.2):<br />

fl( fl(3.3) ∗ fl(fl(4.5) - fl(1.2))) =<br />

fl( 3.5 ∗ fl(4.0 - 1.25)) =<br />

fl(3.5 ∗ fl(2.75))=fl(3.5 ∗ 2.5) = Inf pga overflow<br />

Exakt: 10.89<br />

Informationsteknologi<br />

• Om man hamnar under min kan man släppa på<br />

normaliseringskravet<br />

Mantissan ˆm kan anta följande positiva värden<br />

(0.01) =<br />

1<br />

(0.10) =<br />

1<br />

(0.11) =<br />

3<br />

4 2 4<br />

0 1 2<br />

+ + +<br />

subnormala tal<br />

• Ger en liten extraskala under min-gränsen, kallas<br />

subnormalt tal<br />

<strong>Institutionen</strong> för <strong>informationsteknologi</strong> | www.it.uu.se<br />

<strong>Institutionen</strong> för <strong>informationsteknologi</strong> | www.it.uu.se<br />

3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!