Autor |
Gleitpunktzahlen |
|
CyberDruid
Junior  Dabei seit: 06.06.2003 Mitteilungen: 11
 | Themenstart: 2003-10-22
|
Ich habe ein Problem. Wie kann man das beweisen?
Seien x und y binäre Gleitpunktzahlen mit 0.1 < x/y < 10 (ACHTUNG, binäre Schreibweise 0.5 < x/y < 2 im dezimalsys)
Warum ist x - y eine Gleitpunktzahl?
Also: warum ist x-y = rd(x-y)
|
Profil
|
viertel
Senior  Dabei seit: 04.03.2003 Mitteilungen: 27787
Wohnort: Hessen
 | Beitrag No.1, eingetragen 2003-10-22
|
Hi CyberDruid,
welchen Einschränkungen unterliegen x und y? Ist mit x/y ein Bruch gemeint? Was bedeutet rd(x-y)?
Wenn Du Dich mit dem Prof über diese Aufgabe unterhältst, wißt ihr, wovon ihr redet. Ich sitze nicht in der Vorlesung und muß dumm fragen
Gruß vom 1/4
|
Profil
|
CyberDruid
Junior  Dabei seit: 06.06.2003 Mitteilungen: 11
 | Beitrag No.2, vom Themenstarter, eingetragen 2003-10-22
|
x/y ist ein Bruch.
rd(x) ist die Rundung einer Gleitpunktzahl.
x und y unterliegen nur den Einschränkungen
0.5y < x < 2y
<=> 0.5 < x/y <2
da ja y \neq 0
weil sonst 0 < x < 0
|
Profil
|
Karl
Senior  Dabei seit: 09.12.2002 Mitteilungen: 865
Wohnort: Dresden
 | Beitrag No.3, eingetragen 2003-10-22
|
Hallo!
Also Mathematisch ist da nix zu machen... denke ich!
Da x=y erlaubt ist kann man x=y setzen! x/y wäre dann 1.
Dann wär aber x-y = 0!
Also bräuchten wir einen Informatiker der sich damit auskennt!
Karl
|
Profil
|
CyberDruid
Junior  Dabei seit: 06.06.2003 Mitteilungen: 11
 | Beitrag No.4, vom Themenstarter, eingetragen 2003-10-22
|
das ist numerik :(
studiere doch mathe dipl. mit nebenfach chemie...
nix mit info
|
Profil
|
viertel
Senior  Dabei seit: 04.03.2003 Mitteilungen: 27787
Wohnort: Hessen
 | Beitrag No.5, eingetragen 2003-10-22
|
Also für x=3 und y=2 ist die Ungleichung
0.1keine Gleitpunktzahl.
Außerdem meintest Du mit Deiner "Also"-Frage bestimmt
warum ist x-y<>rd(x-y)
Wo lieg ich da falsch oder was hast Du verschwiegen?
[ Nachricht wurde editiert von viertel am 2003-10-22 22:15 ]
|
Profil
|
Karl
Senior  Dabei seit: 09.12.2002 Mitteilungen: 865
Wohnort: Dresden
 | Beitrag No.6, eingetragen 2003-10-22
|
@Viertel
Ich weiß zwar auch nicht viel über das ganze Zeugs. Jedoch wenn man die Gleitkommazahl (GL) GL(4)-GL(5) nimmt kommt nicht 1 raus!
Hab das auch gerade für dein Beispiel versucht bei 3 und 2 klappt das ganze!
Wie gesagt, es muss noch mehr Informationen geben.
Karl
P.S: für den dens interessiert es war mit Fortran und 1byte Realzahlen!
|
Profil
|
Anonymous
Unregistrierter Benutzer
| Beitrag No.7, eingetragen 2003-10-22
|
Also ich glaube, die Zusatzbedingung, die Ihr hier ansprecht, ist, daß x und y normalisierte (!!!) binäre GPZen sind mit y/2 < x < 2y. Die Frage bleibt aber noch bestehen: warum ist x-y eine GPZ?
|
|
viertel
Senior  Dabei seit: 04.03.2003 Mitteilungen: 27787
Wohnort: Hessen
 | Beitrag No.8, eingetragen 2003-10-22
|
@Karl
Wär ja noch schöner, wenn bei 4-5 die 1 rauskäme. Ich hab da noch immer -1 als Ergebnis. Übrigens: ganze Zahlen (also die aus Z) werden als GPZ immer exakt dargestellt (sofern die Stellenzahl der Mantisse ausreicht).
@CyberDruid
Könntest Du mal auf meine Fragen von 22:14 eingehen: was ist an dem Beispiel falsch? Was ist mit dem Ungleichheitszeichen? Ganz hart: was ist überhaupt zu beweisen? Es steht keine Behauptung da.
Im übrigen ist auch 1.0 eine GPZ. Oder verwendest Du "Gleitpunktzahl" einmal für die Maschinendarstellung und einmal als Begriff für eine Zahl mit Nachkommastellen?
|
Profil
|
lochi
Senior  Dabei seit: 19.08.2002 Mitteilungen: 1484
Wohnort: Allgäu
 | Beitrag No.9, eingetragen 2003-10-23
|
Hallo CyberDruid,
ich sehe die Sache so:
Seien x und y normalisierte Gleitpunktzahlen, d.h., es gibt
\s_1, \s_2 \el {+1, -1},
m_1, m_2 \el {x\el \IN : 0 <= x < 2^l},
e_1, e_2 \el {x \el \IZ : abs(x) < 2^e} mit
x=\s_1*(1+m_1*2^(-l))*2^e_1 und
y=\s_2*(1+m_2*2^(-l))*2^e_2
wobei l die Mantissenlänge und e die Exponentenlänge sei.
Wenn jetzt 1/2*y < x < 2*y ist, dann haben sie das gleiche Vorzeichen,
also \s_1=\s_2 und die Exponenten müssen auch gleich sein (e_1=e_2).
x-y ist dann logischerweise s_1*(m_1-m_2)*2^e_1
Da m_1 und m_2 nichtnegativ sind, ist abs(m_1-m_2)<2^l,
damit ist x-y eine Gleitkommazahl, ggf. nicht normalisiert.
Also ist x-y=rd(x-y).
Viele Grüße,
Lochi
|
Profil
|
Hume
Senior  Dabei seit: 11.08.2003 Mitteilungen: 583
Wohnort: Shanghai, China
 | Beitrag No.10, eingetragen 2003-10-23
|
Hallo,
die Aufgabenstellung lässt scheinbar wirklich einigen Raum für Spekulationen offen, am
sinnvollsten erscheint mir folgende Interpretation:
Seien x und y binäre Gleitpunktzahlen mit der Eigenschaft
0.1 y. Damit ist x-y > 0.
Aus x/y < 2 folgt x < 2y und damit x-y < y.
Die zu untersuchende Zahl ist also eingeschachtelt: 0 < x-y < y.
Wegen x > y ist k_x >= k_y. Wegen abs(k_x-k_y) <= 1 bleibt nur k_x=k_y oder k_x=k_y+1.
Nachdem ich jetzt mehrfach erfolglos versucht habe, das Kommende in Formeln zu packen,
bleib ich doch bei der schematischen Darstellung.
Die besetzten Stellen von x, y und z=x-y sehen also wie folgt aus:
Bei k_x=k_y (die Stellen sind also 2^(k_x) bis 2^(k_x|-n)):
x: 1 x_1 x_2 * * * x_n
y: 1 y_1 y_2 * * * y_n
z: 0 z_1 z_2 * * * z_n
Damit hat die Mantisse höchstens Länge n-1.
Bei k_x=k_y|+1:
x: 1 x_1 x_2 * * * x_n 0
y: 0 1 y_1 * * * * y_n
z: 0 z_0 z_1 * * * * z_n
Der zu 2^(k_x) gehörende Koeffizient von x-y kann nicht 1 sein, weil (siehe oben) x-y < y und der
entsprechende Koeffizient bei y Null ist. Damit hat hier die Mantisse höchstens Länge n.
Ich vermute, man (aber nicht ich) kann das auch noch etwas hübscher aufschreiben.
Aber der Gedanke (habe dazu extra einen reinrassigen Numeriker befragt) wird vielleicht doch klar.
Grüße,
Hume
|
Profil
|