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 "C/C++" - Typ der Variablen bestimmen
Typ der Variablen bestimmen < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Typ der Variablen bestimmen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:03 Di 27.10.2009
Autor: az118

Aufgabe
Nehmen Sie an, Sie schreiben ein Programm in C. In einer Variable welchen Typs würden Sie jeweils die folgenden Werte speichern?

a.) 3.24, 12.3, -188.2, 1, 0.01
b.) 0, -1, -2, -3, ...
c.) 12, [mm] \bruch{1}{2^{100}}, 10^{42} [/mm]

Hallo, also ich fange gerade erst mit dem Programmieren an und habe deswegen noch keinen richtigen Plan.
Ich dachte da a.) gebrochene Zahlen sind = real
b.) = integer
c.) ??

wär nett wenn jemand helfen kann.

        
Bezug
Typ der Variablen bestimmen: Antwort
Status: (Antwort) fertig Status 
Datum: 12:55 Di 27.10.2009
Autor: DJ-L

Hallo,

Also erstmal heißen die Datentypen in C nicht real sondern float bzw. nicht integer sondern int ;)

zu a)
Da es sich hier um reelle Zahlen zu handeln scheint, würden sich hier die Typen float oder double anbieten.

double hat, wie der Name schon sagt, eine doppelte Genauigkeit von 64-Bit.  Prinzipiell würden aber für die Zahlenbeispiele float's ausreichen.


zu b)
Da es sich hier um negative ganze Zahlen handelt, wird man wohl zu int oder long greifen.

long sind auf 64-Bit Systemen 64 Bit lang, auf 32-Bit Systemen allerdings genauso lang, wie int.  Für die gegeben Zahlenbeispiele würden int's ausreichen.

Wären ausschließlich positive Zahlen gegeben, würde man zu unsigned greifen, da man mit diesem 1-Bit mehr hat und somit einen größeren Wertebereich abdecken kann.


zu c)
Hier würde sich double anbieten.  Das hat etwas mit dem Aufbau von Fließkommazahlen zu tun:

Fließkommazahlen liegen im folgenden Bitmuster im (z.B. Speicher) vor, bei double:
[1 Bit Vorzeichen][11 Bit Exponent (zur Basis 2)][52 Bit Mantisse]

Der daraus zu interpretierende Wert berechnet sich wie folgt:
[mm](-1)^{Vorzeichen} \cdot (1.0 + Mantisse \cdot 2^{-52}) \cdot 2^{Exponent - 1023}[/mm]
Für die Zahlenbeispiele ergibt sich dann:

1. Vorzeichen = 0, Mantisse != 0, Exponent > 1023
2. Vorzeichen = 0, Mantisse = 0, Exponent = 923
3. Vorzeichen = 0, Mantisse != 0, Exponent > 1023

Wie man also sieht, können mit Fließkommazahlen (Floating Points) unter Verzicht der Genauigkeit (vergleichsweise kleine Mantisse) mithilfe des Exponenten sehr große oder sehr kleine Zahlen dargestellt werden.


Ich hoffe, dass ich helfen konnte,
Dirk.


Bezug
                
Bezug
Typ der Variablen bestimmen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:10 Di 27.10.2009
Autor: az118

Oh man, da muss ich ja noch viel lernen. :)
Dankeschön.

Bezug
                        
Bezug
Typ der Variablen bestimmen: Keine Ursache =)
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:20 Di 27.10.2009
Autor: DJ-L

Keine Ursache =)

naja, muss man vielleicht auch nicht unbedingt alles wissen, solange man nicht an die Grenzen der Datentypen geht ;)

Dirk.


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


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