Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Vorwort des Gutachters
1 Einstieg in C
2 Das erste Programm
3 Grundlagen
4 Formatierte Ein-/Ausgabe mit »scanf()« und »printf()«
5 Basisdatentypen
6 Operatoren
7 Typumwandlung
8 Kontrollstrukturen
9 Funktionen
10 Präprozessor-Direktiven
11 Arrays
12 Zeiger (Pointer)
13 Kommandozeilenargumente
14 Dynamische Speicherverwaltung
15 Strukturen
16 Ein-/Ausgabe-Funktionen
17 Attribute von Dateien und das Arbeiten mit Verzeichnissen (nicht ANSI C)
18 Arbeiten mit variabel langen Argumentlisten – <stdarg.h>
19 Zeitroutinen
20 Weitere Headerdateien und ihre Funktionen (ANSI C)
21 Dynamische Datenstrukturen
22 Algorithmen
23 CGI mit C
24 MySQL und C
25 Netzwerkprogrammierung und Cross–Plattform-Entwicklung
26 Paralleles Rechnen
27 Sicheres Programmieren
28 Wie geht’s jetzt weiter?
A Operatoren
B Die C-Standard-Bibliothek
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
<< zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch
Buch: C von A bis Z

C von A bis Z
3., aktualisierte und erweiterte Auflage, geb., mit CD und Referenzkarte
1.190 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1411-7
Pfeil 5 Basisdatentypen
Pfeil 5.1 Deklaration und Definition
Pfeil 5.2 Der Datentyp »int« (Integer)
Pfeil 5.3 Variablen verwenden
Pfeil 5.4 Der Datentyp »long«
Pfeil 5.5 Der Datentyp »long long«
Pfeil 5.6 Der Datentyp »short«
Pfeil 5.7 Ganzzahlige Typen mit vorgegebener Breite – <stdint.h>
Pfeil 5.7.1 <inttypes.h> (C99)
Pfeil 5.8 Die Gleitpunkttypen »float« und »double«
Pfeil 5.8.1 Gleitpunkttypen im Detail
Pfeil 5.8.2 »float« im Detail
Pfeil 5.8.3 »double« im Detail
Pfeil 5.8.4 long double
Pfeil 5.8.5 Einiges zu n-stelliger Genauigkeit
Pfeil 5.9 Numerische Gleitpunktprobleme
Pfeil 5.10 Komplexe Gleitpunkttypen – <complex.h>
Pfeil 5.11 Der Datentyp »char«
Pfeil 5.12 Nationale contra internationale Zeichensätze
Pfeil 5.13 Der Breitzeichen-Typ »wchar_t«
Pfeil 5.14 Multibyte-Zeichen
Pfeil 5.15 Boolescher Wert – <stdbool.h>
Pfeil 5.16 Vorzeichenlos und vorzeichenbehaftet
Pfeil 5.17 Limits für Ganzzahl- und Gleitpunktdatentypen
Pfeil 5.18 Der Typ »void«
Pfeil 5.19 Konstanten
Pfeil 5.19.1 Ganzzahlkonstanten
Pfeil 5.19.2 Gleitpunktkonstanten
Pfeil 5.19.3 Zeichenkonstanten
Pfeil 5.19.4 Stringliterale (Stringkonstante)
Pfeil 5.20 Umwandlungsvorgaben für formatierte Ein-/Ausgabe


Rheinwerk Computing - Zum Seitenanfang

5.10 Komplexe Gleitpunkttypen – <complex.h> topZur vorigen Überschrift

Mit dem C99-Standard wurden auch komplexe Gleitpunkttypen eingeführt. Diese Typen sind in der Headerdatei <complex.h> definiert.


Hinweis

C++-Entwickler sollten die Headerdatei <complex.h> nicht mit dem C++-Standard-Header <complex> gleichsetzen.


Eine komplexe Zahl wird hierbei als Paar aus Real- und Imaginärteil dargestellt, die auch mit den Funktionen creal() und cimag() ausgegeben werden können. Beide Teile der komplexen Zahl bestehen entweder aus den Typen float, double oder long double. Daher gibt es wie auch bei den reellen Gleitpunktzahlen folgende drei komplexe Gleitpunkttypen:

float _Complex
double _Complex
long double _Complex

Da komplexe Zahlen einen Real- und einen Imaginärteil haben, beträgt die Größe des Datentyps in der Regel das Doppelte wie bei den grundlegenden Datentypen. Ein float _Complex benötigt somit 8 Bytes, weil ja im Grunde zwei float-Elemente benötigt werden. Folgendes Listing soll das verdeutlichen:

/* complex.c */
#include <stdio.h>
#include <stdlib.h>
#include <complex.h>

int main(void) {
   float f1 = 1.0;
   float complex fc = 2.0 + 3.0*I;
   // 4 Bytes
   printf("sizeof(float)         : %d\n", sizeof(float));
   // 8 Bytes (realer und imaginärer Teil)
   printf("sizeof(float complex) : %d\n",
      sizeof(float complex));
   // Ausgabe vom Real- und Imaginärteil
   printf("%f + %f\n", creal(fc), cimag(fc));
   return EXIT_SUCCESS;
}

Um nicht die umständliche Schreibweise mit dem Unterstrich _Complex verwenden zu müssen, ist in der Headerdatei <complex.h> das Makro complex definiert, womit Sie anstelle des Schlüsselworts _Complex auch complex verwenden können:

float complex         // gleich wie float _Complex
double complex        // gleich wie double _Complex
long double complex   // gleich wie long double _Complex

Des Weiteren ist in der Headerdatei das Makro I definiert, das die imaginäre Einheit mit dem Typ const float complex darstellt.

Vielleicht hierzu eine kurze Hintergrundinformation zu komplexen Gleitpunktzahlen. Eine komplexe Zahl zVal wird beispielsweise folgendermaßen in einem kartesischen Koordinatensystem dargestellt:

zVal = xVal + yVal * I

xVal und yVal sind hierbei reelle Zahlen, und I ist der imaginäre Teil. Die Zahl xVal wird hierbei als realer Teil betrachtet, und yVal ist der imaginäre Teil von zVal.


Kartesisches Koordinatensystem

Das kartesische Koordinatensystem ist ein häufig verwendetes Koordinatensystem im zwei- und dreidimensionalen Raum, mit dem sich viele geometrische Sachverhalte einfacher beschreiben lassen.


Noch mehr zu den komplexen Gleitpunkttypen und deren mathematischen Funktionen erfahren Sie ab Abschnitt 20.3, »Mathematische Funktionen«.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: C von A bis Z

 C von A bis Z
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: C/C++






 C/C++


Zum Rheinwerk-Shop: Einstieg in C






 Einstieg in C


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: C++ Handbuch






 C++ Handbuch


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern