www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Uni-Numerik" - Rundungsoperator
Rundungsoperator < Numerik < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Uni-Numerik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Rundungsoperator: Aufgabe 1
Status: (Frage) beantwortet Status 
Datum: 11:01 Mi 08.10.2014
Autor: Steffen2361

Aufgabe
Berechnen Sie mit Hilfe des Rundungsoperators $rd [mm] :\R\rightarrow fl(2,3,\{0,1,2,3,4\})$ [/mm] die Gleitkommazahl rd(0.9)!

Danke für eure Hilfe

Also, ich habe in der Angabe die Basis 2, daher habe ich 0,9 umgewandelt in eine Binärzahl.

0,9= 0,111001....

Nun komme ich nicht weiter. bzwiehungsweise würd eich gerne wissen ob dies stimmt?

Bei Potenz=0 und Mantisse =3

[mm] $0,111001...*2^0 [/mm] = 0,111$ da die dritte Nachkommastelle größer ist als die Hälfte der Basis  muss ich aufrunden und erhalte 1.000 als Binärzahl

Bei Potenz=1 und Mantisse =3

[mm] $0,111001...*2^1 [/mm] = 1,110$ Da die dritte Nachkommastelle kleiner als die Hälfte der Basis bleibt die Zahl wie sie ist.

usw

Stimmt das so?

        
Bezug
Rundungsoperator: Antwort
Status: (Antwort) fertig Status 
Datum: 12:06 Mi 08.10.2014
Autor: DieAcht

Hallo Steffen2361!


> Berechnen Sie mit Hilfe des Rundungsoperators [mm]rd :\R\rightarrow fl(2,3,\{0,1,2,3,4\})[/mm]
> die Gleitkommazahl rd(0.9)!
>  
> Danke für eure Hilfe
>  Also, ich habe in der Angabe die Basis 2,

Wo ist diese Vorgabe genau?

> daher habe ich
> 0,9 umgewandelt in eine Binärzahl.
>
> 0,9= 0,111001....

Ja, aber das kannst du exakt aufschreiben, denn es wird periodisch:

      [mm] 0,1\overline{1100}. [/mm]

> Nun komme ich nicht weiter. bzwiehungsweise würd eich
> gerne wissen ob dies stimmt?
>  
> Bei Potenz=0 und Mantisse =3
>  
> [mm]0,111001...*2^0 = 0,111[/mm] da die dritte Nachkommastelle
> größer ist als die Hälfte der Basis  muss ich aufrunden
> und erhalte 1.000 als Binärzahl
>  
> Bei Potenz=1 und Mantisse =3
>  
> [mm]0,111001...*2^1 = 1,110[/mm] Da die dritte Nachkommastelle
> kleiner als die Hälfte der Basis bleibt die Zahl wie sie
> ist.
>  
> usw
>  
> Stimmt das so?

Mein Problem ist, dass ich die Schreibweise

      [mm] fl(2,3,\{0,1,2,3,4\}) [/mm]

nicht kenne und mir diese aus deiner Lösung nicht erschließen
kann. Die Mantissenlänge scheint aber hier fest zu sein und die
Potenz gehen wir hoch? Bei mir ist zu einem Gleitpunktzahlsystem

      [mm] F(b,t,e_{\text{min}},e_{\text{max}}) [/mm]

mit gerade Basis [mm] $b\$ [/mm] die Funktion

      [mm] $rd\colon\{x\in\IR\colon x_{\text{min}}\le|x|\le x_{\text{max}}\}\to\IR$ [/mm]

durch

      [mm] rd(x)=\begin{cases} \sigma*\left(\sum_{k=1}^{t}a_k*b^{-k}\right)*b^{e}, & \mbox{für } a_{t+1}\le\frac{1}{2}b-1 \\ \sigma*\left(\sum_{k=1}^{t}a_k*b^{-k}+b^{-t}\right)*b^{e}, & \mbox{für } a_{t+1}\ge\frac{1}{2}b \end{cases} [/mm]

für

      [mm] x=\sigma*\left(\sum_{k=1}^{\infty}a_k*b^{-k}\right)*b^{e} [/mm]

erklärt. [mm] $rd(x)\$ [/mm] heißt dann auf [mm] $t\$ [/mm] Stellen gerundeter Wert von [mm] $x\$. [/mm]


Das heißt, dass wir mit deiner Basis [mm] $b=2\$ [/mm] abruden für

      [mm] a_{t+1}\le\frac{1}{2}*2-1=0 [/mm]

und aufrunden für

      [mm] a_{t+1}\ge\frac{1}{2}*2=1. [/mm]

Bei dir ist oben die Mantissenlänge anscheinend [mm] $t=3\$ [/mm] und wir
betrachten die nächste Stelle [mm] $t+1\$ [/mm] um zu entscheiden ob wir
auf- oder abrunden.

Also betrachte die vierte Nachkommastelle und entscheide dann!


Gruß
DieAcht

Bezug
                
Bezug
Rundungsoperator: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:17 Mi 08.10.2014
Autor: Steffen2361

Danke für deine Antwort.




Betrachte ich dies nun mit  Basis b=2 und Mantisse t=3, so muss ich nun doch die Potenzschreibweisen von 0-4 erarbeiten oder?

Sprich:

e=0

$ [mm] 0,1\overline{1100} [/mm]  =  [mm] 0,1\overline{1100} [/mm] * [mm] 2^0$ [/mm]
Die vierte Nachkommastelle wäre 0 und somit muss ich die Zahl abrunden, und erhalte 0,1110

e=1
$ [mm] 0,1\overline{1100} [/mm]  =  [mm] 0,01\overline{1100} [/mm] * [mm] 2^1$ [/mm]
Die vierte Nachkommstelle 1. ich muss aufrunden und erhalte 0,100000.  


e=2
$ [mm] 0,1\overline{1100} [/mm]  =  [mm] 0,001\overline{1100} [/mm] * [mm] 2^2$ [/mm]  Hier wäre die vierte Nachkommastelle 1, ich muss aufrunden un erhalte 0,010000.

e=3
$ [mm] 0,1\overline{1100} [/mm]  =  [mm] 0,0001\overline{1100} [/mm] * [mm] 2^3$ [/mm] Hier wäre die vierte Nachkommastelle 1, ich muss aufrunden un erhalte 0,001000.

e=4
$ [mm] 0,1\overline{1100} [/mm]  =  [mm] 0,00001\overline{1100} [/mm] * [mm] 2^4$ [/mm] Hier wäre die vierte Nachkommastelle 0, ich muss abrunden un erhalte 0,00000.

.....

Was sagst du dazu?



Bezug
                        
Bezug
Rundungsoperator: Antwort
Status: (Antwort) fertig Status 
Datum: 21:33 Mi 08.10.2014
Autor: DieAcht

Hallo,


> Betrachte ich dies nun mit  Basis b=2 und Mantisse t=3,

Ich frage erneut: Wie kommst du darauf? Ich zitiere deine Aufgabe:

Aufgabe
Berechnen Sie mit Hilfe des Rundungsoperators $rd [mm] :\R\rightarrow fl(2,3,\{0,1,2,3,4\})$ [/mm] die Gleitkommazahl rd(0.9)!




An dem Quellcode kann ich erkennen, dass du

      [mm] $rd\colon\IR\rightarrow fl(2,3,\{0,1,2,3,4\})$ [/mm]

meinst. Allerdings verstehe ich diesen Ausdruck nicht und frage
mich wie du auf Basis [mm] $b=2\$ [/mm] und Mantissenlänge [mm] $t=3\$ [/mm] kommst.

Ich kenne folgende Definition: Zu gegebener Basis [mm] $b\in\IN$ [/mm] mit [mm] $b\ge [/mm] 2$
und Mantissenlänge [mm] t\in\IN [/mm] sowie Exponentenschranken [mm] e_{\text{min}}<0 die Menge

      [mm] F=F(b,t,e_{\text{min}},e_{\text{max}})\subset\IR [/mm]

durch

      [mm] F=\left\{\sigma\left(\sum_{i=1}^{t}a_ib^{-i}\right)b^{e}\colon a_1,\ldots,a_t\in\{0,1,\ldots,b-1\},a_1\not=0,e\in\IZ,e_{\text{min}}
erklärt und wird System von normalisierten Gleitpunktzahlen ge-
nannt. Lässt man noch die Kombination [mm] e=e_{\text{min}} [/mm] und [mm] $a_1=0\$ [/mm] zu, dann
erhält man mit [mm] $\tilde{F}\supset [/mm] F$ das System der denormalisierten Gleitpunkt-
punktzahlen.

Beachte, dass uns vor Allem die normalisierten Gleitpunktzahlen
interessieren. Außerdem wird in der Praxis zum Beispiel mit

      $F=F(2,24,-127,127)=F(2,24,7)$.

abgekürzt. In der Literatur habe ich nun gefunden, dass ihr

      [mm] $fl=F\$ [/mm]

setzt und ihr wohl in der Tat

      [mm] fl=fl(\text{Basis},\text{Mantissenlänge},\text{Exponentenlänge})=fl(b,t,E) [/mm]

meint, wobei bei euch die Basis [mm] $b=2\$, [/mm] die Mantissenlänge [mm] $t=3\$ [/mm] und
die Exponentenlänge gegeben ist durch die Menge [mm] $E=\{0,1,2,3,4\}$. [/mm] Also:

      [mm] $fl=fl(b,t,E)=fl(2,3,\{0,1,2,3,4\})$. [/mm]

Jetzt habe ich das hier alles runtergerattert um es zu verstehen. :-)

Kommen wir nun zurück zu deiner Aufgabe:

> so muss ich nun doch die Potenzschreibweisen von 0-4 erarbeiten oder?

Ja, das glaube ich, aber ich habe so etwas noch nicht gesehen,
sodass ich dir rate nochmal genauer nachzufragen.

> Sprich:
>  
> e=0
>  
> [mm]0,1\overline{1100} = 0,1\overline{1100} * 2^0[/mm]
> Die vierte Nachkommastelle wäre 0 und somit muss ich die
> Zahl abrunden, und erhalte 0,1110

Ja, aber die letzte Null sollte dort auch nicht mehr stehen, denn
es soll deutlich werden, dass wir am Ende eine auf drei Stellen
gerundete Zahl bekommen haben. Schreibe also besser folgendes:

      [mm] rd(0,1\overline{1100}*2^0)\overset{t=3}=0,111. [/mm]

> e=1
>  [mm]0,1\overline{1100} = 0,01\overline{1100} * 2^1[/mm]
>  Die
> vierte Nachkommstelle 1. ich muss aufrunden und erhalte
> 0,100000.  

Siehe oben. Es sind hier drei Nullen zu viel.

> e=2
>  [mm]0,1\overline{1100} = 0,001\overline{1100} * 2^2[/mm]  Hier
> wäre die vierte Nachkommastelle 1, ich muss aufrunden un
> erhalte 0,010000.
>  
> e=3
>  [mm]0,1\overline{1100} = 0,0001\overline{1100} * 2^3[/mm] Hier
> wäre die vierte Nachkommastelle 1, ich muss aufrunden un
> erhalte 0,001000.

Siehe oben.

> e=4
>  [mm]0,1\overline{1100} = 0,00001\overline{1100} * 2^4[/mm] Hier
> wäre die vierte Nachkommastelle 0, ich muss abrunden un
> erhalte 0,00000.

Siehe oben.

> Was sagst du dazu?

Beachte, dass du hier das denormalisierte Gleitpunktpunktzahlsystem
betrachtest, denn die rote Voraussetzung

       [mm] F=\left\{\sigma\left(\sum_{i=1}^{t}a_ib^{-i}\right)b^{e}\colon a_1,\ldots,a_t\in\{0,1,\ldots,b-1\},\red{a_1\not=0},e\in\IZ,e_{\text{min}}
trifft nicht mehr zu (mehr dazu weiter oben). Ansonsten ist es,
bis auf die Notation, und dem Einsatz meiner Kristallkugel, in
Ordnung.


Gruß
DieAcht

Bezug
                                
Bezug
Rundungsoperator: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 09:19 Do 09.10.2014
Autor: Steffen2361

Danke, danke, danke :)

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Uni-Numerik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]