Radix- und Basisumwandlung
graph TD
A[Numerische Formatierung] --> B[Dezimal]
A --> C[Hexadezimal]
A --> D[Oktal]
A --> E[Binär]
Manipulator |
Zweck |
Beispiel |
std::hex |
Hexadezimalanzeige |
Umwandlung in Basis-16 |
std::dec |
Dezimalanzeige |
Umwandlung in Basis-10 |
std::oct |
Oktalanzeige |
Umwandlung in Basis-8 |
Steuerung der Genauigkeit von Gleitkommazahlen
#include <iostream>
#include <iomanip>
void demonstratePrecisionControl() {
double wert = 3.14159265358979;
// Standardgenauigkeit
std::cout << "Standard: " << wert << std::endl;
// Feste Genauigkeit
std::cout << "Feste Genauigkeit (2 Dezimalstellen): "
<< std::fixed << std::setprecision(2)
<< wert << std::endl;
// Wissenschaftliche Notation
std::cout << "Wissenschaftliche Notation: "
<< std::scientific
<< wert << std::endl;
}
Ausrichtung und Feldbreitentechniken
Strategien für Breite und Ausrichtung
#include <iostream>
#include <iomanip>
void demonstrateAlignment() {
int zahlen[] = {42, 123, 7};
// Rechtsbündige Ausrichtung mit Breite
std::cout << "Rechtsbündige Ausrichtung:\n";
for (int zahl : zahlen) {
std::cout << std::setw(10) << std::right << zahl << std::endl;
}
// Linksbündige Ausrichtung mit Füllung
std::cout << "Linksbündige Ausrichtung:\n";
for (int zahl : zahlen) {
std::cout << std::setw(10) << std::left << zahl << std::endl;
}
}
#include <iostream>
#include <iomanip>
#include <vector>
void complexFormatting() {
std::vector<std::pair<std::string, double>> daten = {
{"Produkt A", 15.75},
{"Produkt B", 24.50},
{"Produkt C", 8.25}
};
std::cout << std::left
<< std::setw(15) << "Produktname"
<< std::setw(10) << "Preis"
<< std::endl;
std::cout << std::string(25, '-') << std::endl;
for (const auto& element : daten) {
std::cout << std::left
<< std::setw(15) << element.first
<< std::fixed
<< std::setprecision(2)
<< std::setw(10) << element.second
<< std::endl;
}
}
Best Practices
- Wählen Sie die passende Genauigkeit für Ihre Daten
- Verwenden Sie konsistente Formatierung in Ihrer Anwendung
- Berücksichtigen Sie die Leistung bei der Anwendung komplexer Formatierungen
Leistungskonsiderationen
- Übermäßige Formatierung kann die Leistung beeinträchtigen
- Verwenden Sie Manipulatoren bedacht
- Profilieren Sie Ihren Code, wenn Sie komplexe Formatierungstechniken verwenden
Bei LabEx empfehlen wir, diese Formatierungstechniken zu beherrschen, um aussagekräftigere und professionellere C++-Ausgaben zu erstellen.