You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.0 KiB
67 lines
2.0 KiB
% Angewandte Numerik 1, SoSe 2022
|
|
% Uebungsblatt 01, Aufgabe 03: Wert einer Gleitpunktdarstellung
|
|
%
|
|
% Testprogramm fuer die Funktion x = value(b, d, v, t)
|
|
%
|
|
% Letzte Aenderung: 22.04.2022
|
|
|
|
|
|
|
|
%% Initialisierung
|
|
|
|
clearvars;
|
|
close all;
|
|
clc;
|
|
|
|
tol = 1e-14; % Geforderte Genauigkeit der Berechnungen
|
|
|
|
fprintf('\n');
|
|
fprintf('Angewandte Numerik 1, Sommersemester 2022\n');
|
|
fprintf('Uebungsblatt 1, Aufgabe 3b: Gleitpunkt-Darstellung\n');
|
|
fprintf('\n');
|
|
|
|
|
|
|
|
%% Definition und Durchfuehrung der Testfaelle
|
|
|
|
testfall = 0;
|
|
while true % alle Testfaelle untersuchen
|
|
testfall = testfall + 1; % naechster Testfall
|
|
|
|
|
|
%% alle Testfaelle definieren
|
|
|
|
switch testfall
|
|
case 1 % Testfall 1
|
|
b = 2; % Basis
|
|
d = [1 0 1 0 0 1 0 0]; % Mantisse
|
|
v = [0 0 1 0 0]; % Exponent
|
|
t = 1; % Vorzeichen Exponent
|
|
x = 10.25; % Wert der Zahl
|
|
case 2 % Testfall 2
|
|
b = 2; % Basis
|
|
d = [1 0 1]; % Mantisse
|
|
v = [0 0 1]; % Exponent
|
|
t = -1; % Vorzeichen Exponent
|
|
x = 0.3125; % Wert der Zahl
|
|
case 3 % Testfall 3
|
|
b = 8; % Basis
|
|
d = [7 5 0]; % Mantisse
|
|
v = [0 0 1]; % Exponent
|
|
t = -1; % Vorzeichen Exponent
|
|
x = 0.119140625; % Wert der Zahl
|
|
otherwise
|
|
break; % keine Testfaelle mehr vorhanden
|
|
end
|
|
|
|
|
|
%% Testfall durchfuehren und Ergebnis ausgeben
|
|
|
|
spezString = 'Testfall %d: %s.\n';
|
|
if abs(x - value(b,d,v,t)) < tol
|
|
fprintf(spezString, testfall, 'Bestanden');
|
|
else
|
|
fprintf(2, spezString, testfall, 'Fehlgeschlagen');
|
|
end
|
|
|
|
end |