Einführung in Nachkommastellen in C++ im Rahmen der Lehre der Programmiersprache C++. (C++ Nachkommastelle C++ Nachkommastellen C++ Dezimalkomma C++ Dezimalpunkt C++), Lektion, Seite 721353
https://www.purl.org/stefan_ram/pub/nachkommastellen_c++ (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
C++-Kurs

Nachkommastellen in C++ 

Nachkommastellen  werden in Numeralia nicht etwa wie im Deutschen durch ein Komma, sondern durch einen Punkt  abgetrennt. Die Zahl ‹ 12,23 › wird in C++  also als »12.23« geschrieben.

Numeralia mit dem Wert Zwölf
12
12.0
12.00
Numeralia mit verschiedenen Werten
12.45
12.9876432
1.2
87.0
main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << 12.0 << "\n"s; }

Konsole
12

Eine Folge von Nullen, die ganz am Ende eines Numerales mit einem Punkt steht, trägt nicht zu seinem Wert bei.

Die Zahl «12.0» kann daher sowohl als »12.0« als auch als »12.00« geschrieben werden.

main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << 12.00 << "\n"s; }

Konsole
12
main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << 12.0 << "\n"s; }

Konsole
12

Der Text »12.00« kann mit einem Zeichenfolgenliteral  ausgegeben werden.

main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << "12.00"s << "\n"s; }

Konsole
12.00

Nullen am Ende dürfen auch ganz weggelassen werden, so daß für die Zahl «12.0» auch die Schreibweise »12.« erlaubt ist.

main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << 12. << "\n"s; }

Konsole
12

Stehen vor dem Punkt nur Nullen, dürfen diese ebenfalls weggelassen werden, so daß für die Zahl «0.12» auch die Schreibweise ».12« erlaubt ist.

main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << .12 << "\n"s; }

Konsole
0.12

Bei einem Numerale mit einem Punkt sind aber im Gegensatz zu einem ganzzahligen Numerale auch Nullen am Anfang  erlaubt, ohne  daß dies zu einer besonderen Interpretation führt.

main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << 012. << "\n"s; }

Konsole
12

Bei der Ausgabe eines Wertes mit Nachkommastellen wird dieser manchmal auf ein bestimmte Anzahl von Stellen abgeschnitten. Dies liegt daran, daß in der Regel zirka sechs Stellen für viele Zwecke bereits ausreichen. Intern kann C++  aber noch etwas mehr Stellen verarbeiten und speichern.

main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << 3.1415926 << "\n"s; }

Konsole
3.14159

Es folgt noch ein Beispiel für die Gliederung von Punktnumeralia mit Apostrophen. (Hier finden sich aber mehr Stellen als von C++ -Implementationen üblicherweise berücksichtigt.)

main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << 3.141'5926'535'89793'238'462'643'383'27950'288'41971'693'993'7510 << "\n"s; }

Konsole
3.14159

Wir können nun auch zwischen ganzzahligen Numeralia  (wie »32767« oder »22«) ohne  Punkt und Punktnumeralia  (wie »12.0 oder »12.00«) mit  einem Punkt unterscheiden.

Aufbau

Das folgende Diagramm beschreibt den Aufbau eines Punktnumerales.

Aufbaudiagramm

Ziffernfolge
.---------------.
|-|--->| Dezimalziffer |---.--------------------------------------------.--->|-|
'---------------' ^ |
| .---------------. |
'------| Dezimalziffer |<---.<-----------.---'
'---------------' ^ |
| .-. |
'---( ' )<---'
'-'

Punktnumerale

.-. .--------------.
|-|--->.----------------------->( . )------->| Ziffernfolge |------>.--->|-|
| '-' '--------------' ^
| .--------------. .-. |
'--->| Ziffernfolge |--->( . )---.---------------------->.---'
'--------------' '-' | ^
| .--------------. |
'--->| Ziffernfolge |---'
'--------------'

Durch die hier vorgestellten Punktnumeralia wird die Bedeutung des Wortes „Numerale“ aus einer früheren Lektion nun erweitert: Sowohl die früher vorgestellten Numeralia als auch die in dieser Lektion neu vorgestellten Punktnumeralia sind Numeralia.

Wert

Der Wert eines Punktnumerales ist zunächst der Wert, den solche ein Numerale auch im Alltag hat, nachdem alle enthaltenen Grundstriche entfernt, der Punkt durch eine Komma ersetzt und eine Null ergänzt wurde, um zu verhindern, daß das Numerale direkt mit dem Komma beginnt oder endet. Beispielsweise ist der Wert des Punktnumerales »1'2.2« gleich ‹ 12,2 ›. Allerdings gilt dies nur näherungsweise, da nicht alle Werte mit Nachkommastellen genau dargestellt werden können. Die Abweichungen vom richtigen Wert sind aber meist so klein, daß sie nicht weiter stören.

Numerale und Wert

Numerale Wert

1. 1,0
1.0 1,0
1.00 1,0
1'2.2 12,2

Literale

Ein Oberbegriff für ganzzahlige Numeralia und Punktnumeralia ist „Numerale“ (numerisches Literal).

Ein Oberbegriff für Numeralia und Zeichenfolgenliterale ist „Literal“.

Ein Literal dient der Angabe eines Wertes.

Alle Literale sind Ausdrücke.

Literale (Aufbaudiagramm)

Literal

.----------------------.
|-|--->.--->| Zeichenfolgenliteral |---.--->|-|
| '----------------------' ^
| .----------------------. |
'--->| Numerale |---'
| '----------------------' ^
| .----------------------. |
'--->| Punktnumerale |---'
'----------------------'

Ausdruck

.---------.
|-|--->| Literal |--->|-|
'---------'

Literale (Baumdiagramm)
                                               Ausdruck
^
|
Literal
^
|
.------------------'------------------.
| |
Numerale Zeichenfolgenliteral
^ z.B.: "abc"s
|
.------------------'------------------.
| |
ganzzahliges Numerale Punktnumerale
z.B.: 123 z.B.: 1.23

Übungsfragen

?    =
Ist der Zahlenwert  des Numerales »22.0« gleich dem Zahlenwert  des Numerales »22.00«?
?    =
Ist das Numerale  »22.0« gleich dem Numerale  »22.00«?

Werte und ihre Textdarstellung ⃗

Der Ausdruckrahmen gibt Textdarstellungen von Werten, nicht die Werte selber  aus.

Wir sprechen von der „Ausgabe einer Textdarstellung des Wertes «7» “, weil Werte im allgemeinen keine ausdruckbaren Zeichenfolgen sind. Eine ausgedruckte Zeichenfolge, wie »7«, ist also nicht ein Wert selber, sondern nur eine Darstellung  des Wertes durch einen Text. Beispielsweise kann der Wert «12.0» auch als »12.00« dargestellt werden, beides sind zwei verschiedene Textdarstellungen  desselben Wertes. Lesen oder Schreiben kann man nur Textdarstellungen von Werten, nicht die Werte selber.

Die Textdarstellung der Zeichenfolge des Zeichenfolgenliterals »"7"s« gleicht der Textdarstellung der Zahl »7«, obwohl intern beides verschiedene Werte sind.

main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << "7"s << "\n"s; }

Konsole
7
main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << 7 << "\n"s; }

Konsole
7

Man kann an der Ausgabe auch nicht erkennen, daß das Numerale in dem folgenden Programm mit einem Punkt geschrieben wurde.

main.cpp

#include <iostream>
#include <ostream>
#include <string>

using namespace ::std::literals;

int main() { ::std::cout << 7.0 << "\n"s; }

Konsole
7

Zur Vereinfachung kann man aber auch von der „Ausgabe eines Wertes “ sprechen, wenn man weiß, daß dabei nicht wirklich  der Wert selber, sondern nur eine Textdarstellung  des Wertes ausgegeben wird.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram721353 stefan_ram:721353 C++ Nachkommastelle C++ Nachkommastellen C++ Dezimalkomma C++ Dezimalpunkt C++ source, source code,sourcecode, Programmier sprache C++ Sprache, C++, CXX, C+, Programm, Programme, C++-Programm C++ Sprache C++ Programmiersprache C++ c++-Programme, Standard C++, Programmieren in C++, Programmieren in CXX, Programmieren in CPP, Programmieren in Cplusplus, Die Programmiersprache C++, Die Programmiersprache CXX, Die Programmiersprache CPP, Die Programmiersprache Cplusplus, Die Programmier sprache C++, Die Programmier sprache CXX, Die Programmier sprache CPP, Die Programmier sprache Cplusplus, CXX-Programmierung, C++-Programmierung, CPP-Programmierung, c-plus-plus, cpluplus-Programmierung, ANSI-C++, ANSI-CXX, ANSI-CPP, ANSI C++, ANSI CXX, ANSI-cpluscplus ISO-C++, ISO-CXX, ISO CPP, ISO C++, ISO CXX, ISO/IEC-C++, ISO/IEC-CXX, ISO/IEC CPP, ISO/IEC C++, ISO/IEC CXX, IEC-C++, IEC-CXX, IEC CPP, IEC C++, IEC CXX, International Standard ISO/IEC 14882 First edition 1998-09-01, ISO/IEC 14882:1998(E), ISO/IEC 14882:2003(E), ASC X3, 7/27/98, c plus plus, C ++, cplusplus, c plus plus, Standard C+ programmieren, Stamdard C++ programmieren, Standart C+ programmieren, Stamdart C++ programmieren, INCITS/ISO/IEC 14882-1998, Information Technology - Programming Languages - C++ (formerly ISO/IEC 14882-1998), Programmieren in C++,Programmiersprache C++ CPP CXX Cplusplus c plus plus International Standard ISO/IEC 14882 First edition 1998-09-01, Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd721353, slrprddef721353, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/nachkommastellen_c++