Arytmetyka stało i zmiennoprzecinkowa Michał Rudowicz 171047 Łukasz Sidorkiewicz 170991 Piotr Lemański 171009 Wydział Elektroniki Politechnika Wrocławska 26 października 2011
Spis Treści 1 Reprezentacja liczb naturalnych NKB Kod uzupełnieniowy do dwóch 2 Arytmetyka stałoprzecinkowa Arytmetyka w NKB i U2 Ograniczenia arytmetyki stałoprzecinkowej 3 Arytmetyka zmiennoprzecinkowa Arytmetyka zmiennoprzecinkowa Format IEEE-754 Wartości szczególne w formacie IEEE-754 Wyjątki w IEEE-754 Ciekawostki Podsumowanie Bibliografia 4 Zakończenie prezentacji
NKB Naturalny kod binarny NBC(and: Natural Binary Code) - naturalny kod binarny Brak możliwości zapisania znaku liczby oraz ułamków Dec Bin(NBC) 0 00 1 01 2 10 3 11 Tablica: Przykład zapisu kolejnych liczb naturalnych w 2 bitowym NKB
NKB Naturalny kod binarny NBC(and: Natural Binary Code) - naturalny kod binarny Brak możliwości zapisania znaku liczby oraz ułamków Dec Bin(NBC) 0 00 1 01 2 10 3 11 Tablica: Przykład zapisu kolejnych liczb naturalnych w 2 bitowym NKB
NKB Naturalny kod binarny NBC(and: Natural Binary Code) - naturalny kod binarny Brak możliwości zapisania znaku liczby oraz ułamków Dec Bin(NBC) 0 00 1 01 2 10 3 11 Tablica: Przykład zapisu kolejnych liczb naturalnych w 2 bitowym NKB
Kod uzupełnieniowy do dwóch U2 U2 - Kod uzupełnieniowy do dwóch Brak możliwości zapisania ułamków Dec Bin(U2) -Dec -Bin(U2) 0 000 0 100 1 001-1 101 2 010-2 110 3 011-3 111 Tablica: Przykład zapisu kolejnych liczb naturalnych w 3 bitowym kodzie U2
Kod uzupełnieniowy do dwóch U2 U2 - Kod uzupełnieniowy do dwóch Brak możliwości zapisania ułamków Dec Bin(U2) -Dec -Bin(U2) 0 000 0 100 1 001-1 101 2 010-2 110 3 011-3 111 Tablica: Przykład zapisu kolejnych liczb naturalnych w 3 bitowym kodzie U2
Kod uzupełnieniowy do dwóch U2 U2 - Kod uzupełnieniowy do dwóch Brak możliwości zapisania ułamków Dec Bin(U2) -Dec -Bin(U2) 0 000 0 100 1 001-1 101 2 010-2 110 3 011-3 111 Tablica: Przykład zapisu kolejnych liczb naturalnych w 3 bitowym kodzie U2
Arytmetyka w NKB i U2 Arytmetyka w NKB i U2 Ta sama jednostka ALU Różna interpretacja wartości argumentów i wyników Kod binarny Wartość NKB Wartość U2 składnik 1 1001 9-7 składnik 2 0011 3 3 suma 1100 12-4 Tablica: Przykład dodawnia stałoprzecinkowego Kod binarny Wartość NKB Wartość U2 odjemna 1100 12-4 odjemnik 0011 3 3 różnica 1001 9-7 Tablica: Przykład odejmowania stałoprzecinkowego
Ograniczenia arytmetyki stałoprzecinkowej Ograniczenia arytmetyki stałoprzecinkowej Brak możliwości działań na ułamkach Możliwe wystąpienie przeniesienia w wyniku dodawania Możliwe wystąpienie przeniesienia w wyniku mnożenia
Ograniczenia arytmetyki stałoprzecinkowej Ograniczenia arytmetyki stałoprzecinkowej Brak możliwości działań na ułamkach Możliwe wystąpienie przeniesienia w wyniku dodawania Możliwe wystąpienie przeniesienia w wyniku mnożenia
Ograniczenia arytmetyki stałoprzecinkowej Ograniczenia arytmetyki stałoprzecinkowej Brak możliwości działań na ułamkach Możliwe wystąpienie przeniesienia w wyniku dodawania Możliwe wystąpienie przeniesienia w wyniku mnożenia
Ograniczenia arytmetyki stałoprzecinkowej Możliwe rozwiązania problemu przeniesienia Wykorzystanie większej liczby rejestrów do przechowywania wyniku Problemy?? Konieczność zapewnienia większej pamięci do przechowywania danych Utrudnione wykonywanie obliczeń Zastosowanie arytmetyki zmiennoprzecinkowej
Ograniczenia arytmetyki stałoprzecinkowej Możliwe rozwiązania problemu przeniesienia Wykorzystanie większej liczby rejestrów do przechowywania wyniku Problemy?? Konieczność zapewnienia większej pamięci do przechowywania danych Utrudnione wykonywanie obliczeń Zastosowanie arytmetyki zmiennoprzecinkowej
Ograniczenia arytmetyki stałoprzecinkowej Możliwe rozwiązania problemu przeniesienia Wykorzystanie większej liczby rejestrów do przechowywania wyniku Problemy?? Konieczność zapewnienia większej pamięci do przechowywania danych Utrudnione wykonywanie obliczeń Zastosowanie arytmetyki zmiennoprzecinkowej
Ograniczenia arytmetyki stałoprzecinkowej Możliwe rozwiązania problemu przeniesienia Wykorzystanie większej liczby rejestrów do przechowywania wyniku Problemy?? Konieczność zapewnienia większej pamięci do przechowywania danych Utrudnione wykonywanie obliczeń Zastosowanie arytmetyki zmiennoprzecinkowej
Ograniczenia arytmetyki stałoprzecinkowej Możliwe rozwiązania problemu przeniesienia Wykorzystanie większej liczby rejestrów do przechowywania wyniku Problemy?? Konieczność zapewnienia większej pamięci do przechowywania danych Utrudnione wykonywanie obliczeń Zastosowanie arytmetyki zmiennoprzecinkowej
Arytmetyka zmiennoprzecinkowa Idea x = S M β E S - znak(significand) M - mantysa(mantissa) β - podstawa E - wykładnik(exponent)
Arytmetyka zmiennoprzecinkowa Idea x = S M β E S - znak(significand) M - mantysa(mantissa) β - podstawa E - wykładnik(exponent)
Arytmetyka zmiennoprzecinkowa Idea x = S M β E S - znak(significand) M - mantysa(mantissa) β - podstawa E - wykładnik(exponent)
Arytmetyka zmiennoprzecinkowa Idea x = S M β E S - znak(significand) M - mantysa(mantissa) β - podstawa E - wykładnik(exponent)
Format IEEE-754 IEEE-754 Format liczby zmiennoprzecinkowej pojedynczej precyzji S - bit znaku: 1 E - bity wykładnika: 8 korygowane o -127 M - bity mantysy: 23 x = ( 1) S (1.M) 2 E 127
Format IEEE-754 IEEE-754 Format liczby zmiennoprzecinkowej pojedynczej precyzji S - bit znaku: 1 E - bity wykładnika: 8 korygowane o -127 M - bity mantysy: 23 x = ( 1) S (1.M) 2 E 127
Format IEEE-754 IEEE-754 Format liczby zmiennoprzecinkowej pojedynczej precyzji S - bit znaku: 1 E - bity wykładnika: 8 korygowane o -127 M - bity mantysy: 23 x = ( 1) S (1.M) 2 E 127
Format IEEE-754 IEEE-754 Format liczby zmiennoprzecinkowej pojedynczej precyzji S - bit znaku: 1 E - bity wykładnika: 8 korygowane o -127 M - bity mantysy: 23 x = ( 1) S (1.M) 2 E 127
Format IEEE-754 IEEE-754 Format liczby zmiennoprzecinkowej pojedynczej precyzji S - bit znaku: 1 E - bity wykładnika: 8 korygowane o -127 M - bity mantysy: 23 x = ( 1) S (1.M) 2 E 127
Wartości szczególne w formacie IEEE-754 Nieskończoność, 0, liczba zdenormalizowana Tablica: Nieskończoność Znak Pole cechy Pole mantysy 0/1 1...1 0...0 Tablica: Zero Znak Pole cechy Pole mantysy 0/1 0...0 0...0 Tablica: Wartość zdenormalizowana Znak Pole cechy Pole mantysy 0/1 0...0 bity ułamkowe
Wartości szczególne w formacie IEEE-754 Nieskończoność, 0, liczba zdenormalizowana Tablica: Nieskończoność Znak Pole cechy Pole mantysy 0/1 1...1 0...0 Tablica: Zero Znak Pole cechy Pole mantysy 0/1 0...0 0...0 Tablica: Wartość zdenormalizowana Znak Pole cechy Pole mantysy 0/1 0...0 bity ułamkowe
Wartości szczególne w formacie IEEE-754 Nieskończoność, 0, liczba zdenormalizowana Tablica: Nieskończoność Znak Pole cechy Pole mantysy 0/1 1...1 0...0 Tablica: Zero Znak Pole cechy Pole mantysy 0/1 0...0 0...0 Tablica: Wartość zdenormalizowana Znak Pole cechy Pole mantysy 0/1 0...0 bity ułamkowe
Wartości szczególne w formacie IEEE-754 Signaling i quiet NaN Tablica: Signaling NaN Znak Pole cechy Pole mantysy 0/1 1...1 0X...X Tablica: Quiet NaN Znak Pole cechy Pole mantysy 0/1 0...0 1X...X
Wartości szczególne w formacie IEEE-754 Signaling i quiet NaN Tablica: Signaling NaN Znak Pole cechy Pole mantysy 0/1 1...1 0X...X Tablica: Quiet NaN Znak Pole cechy Pole mantysy 0/1 0...0 1X...X
Wyjątki w IEEE-754 Wyjątki Invalid operation Division by Zero Overflow Underflow Inexact
Wyjątki w IEEE-754 Wyjątki Invalid operation Division by Zero Overflow Underflow Inexact
Wyjątki w IEEE-754 Wyjątki Invalid operation Division by Zero Overflow Underflow Inexact
Wyjątki w IEEE-754 Wyjątki Invalid operation Division by Zero Overflow Underflow Inexact
Wyjątki w IEEE-754 Wyjątki Invalid operation Division by Zero Overflow Underflow Inexact
Ciekawostki Wyniki szczególnych operacji Operacja Wynik n ± 0 ± ± ± ±X 0 ± + ±0 ±0 NaN NaN ± ± NaN ± 0 NaN
Podsumowanie Podsumowanie Arytmetyka stałoprzecinkowa: + Prostota obliczeń + Dowolna precyzja - Brak możliwości operacji na ułamkach - Występowanie przeniesienia - Wymaga więcej pamięci Arytmetyka zmiennoprzecinkowa: + Wymaga mniej pamięci + Pozwala na operacje na ułamkach - Ograniczona dokładność - Komplikacja obliczeń
Podsumowanie Podsumowanie Arytmetyka stałoprzecinkowa: + Prostota obliczeń + Dowolna precyzja - Brak możliwości operacji na ułamkach - Występowanie przeniesienia - Wymaga więcej pamięci Arytmetyka zmiennoprzecinkowa: + Wymaga mniej pamięci + Pozwala na operacje na ułamkach - Ograniczona dokładność - Komplikacja obliczeń
Podsumowanie Podsumowanie Arytmetyka stałoprzecinkowa: + Prostota obliczeń + Dowolna precyzja - Brak możliwości operacji na ułamkach - Występowanie przeniesienia - Wymaga więcej pamięci Arytmetyka zmiennoprzecinkowa: + Wymaga mniej pamięci + Pozwala na operacje na ułamkach - Ograniczona dokładność - Komplikacja obliczeń
Podsumowanie Podsumowanie Arytmetyka stałoprzecinkowa: + Prostota obliczeń + Dowolna precyzja - Brak możliwości operacji na ułamkach - Występowanie przeniesienia - Wymaga więcej pamięci Arytmetyka zmiennoprzecinkowa: + Wymaga mniej pamięci + Pozwala na operacje na ułamkach - Ograniczona dokładność - Komplikacja obliczeń
Podsumowanie Podsumowanie Arytmetyka stałoprzecinkowa: + Prostota obliczeń + Dowolna precyzja - Brak możliwości operacji na ułamkach - Występowanie przeniesienia - Wymaga więcej pamięci Arytmetyka zmiennoprzecinkowa: + Wymaga mniej pamięci + Pozwala na operacje na ułamkach - Ograniczona dokładność - Komplikacja obliczeń
Podsumowanie Podsumowanie Arytmetyka stałoprzecinkowa: + Prostota obliczeń + Dowolna precyzja - Brak możliwości operacji na ułamkach - Występowanie przeniesienia - Wymaga więcej pamięci Arytmetyka zmiennoprzecinkowa: + Wymaga mniej pamięci + Pozwala na operacje na ułamkach - Ograniczona dokładność - Komplikacja obliczeń
Podsumowanie Podsumowanie Arytmetyka stałoprzecinkowa: + Prostota obliczeń + Dowolna precyzja - Brak możliwości operacji na ułamkach - Występowanie przeniesienia - Wymaga więcej pamięci Arytmetyka zmiennoprzecinkowa: + Wymaga mniej pamięci + Pozwala na operacje na ułamkach - Ograniczona dokładność - Komplikacja obliczeń
Podsumowanie Podsumowanie Arytmetyka stałoprzecinkowa: + Prostota obliczeń + Dowolna precyzja - Brak możliwości operacji na ułamkach - Występowanie przeniesienia - Wymaga więcej pamięci Arytmetyka zmiennoprzecinkowa: + Wymaga mniej pamięci + Pozwala na operacje na ułamkach - Ograniczona dokładność - Komplikacja obliczeń
Podsumowanie Podsumowanie Arytmetyka stałoprzecinkowa: + Prostota obliczeń + Dowolna precyzja - Brak możliwości operacji na ułamkach - Występowanie przeniesienia - Wymaga więcej pamięci Arytmetyka zmiennoprzecinkowa: + Wymaga mniej pamięci + Pozwala na operacje na ułamkach - Ograniczona dokładność - Komplikacja obliczeń
Bibliografia Bibliografia Biernat J. Arytmetyka komputerów, Warszawa, PWN 1996 Dokumentacja standardu IEEE-754 http://edu.i-lo.tarnow.pl/inf/alg/006 bin/0022.php
Dziękujemy za uwagę