Festlegen der Dezimalpräzision in der C -Sprache

Festlegen der Dezimalpräzision in der C -Sprache

In diesem Artikel wird angezeigt, wie Sie Dezimalpräzision in der C -Programmiersprache festlegen können. Zuerst werden wir Präzision definieren und dann mehrere Beispiele prüfen, um zu zeigen.

Dezimalpräzision in C

Die Variable vom Typ ganzzahliger Typ wird normalerweise verwendet, um die gesamte Zahl und die Schwimmertypvariable zu halten, um die realen Zahlen mit fraktionalen Teilen zu halten, z. B. 2.449561 oder -1.0587. Präzision bestimmt die Genauigkeit der realen Zahlen und wird durch den Punkt bezeichnet (.) Symbol. Die Genauigkeit oder Genauigkeit der reellen Zahlen wird durch die Anzahl der Ziffern nach dem Dezimalpunkt angezeigt. Genauigkeit bedeutet also die Anzahl der nach dem Dezimalpunkt in der Schwimmernummer genannten Ziffern. Zum Beispiel die Nummer 2.449561 hat Präzision sechs und -1.058 hat Präzision drei.

Gemäß der IEEE-754-Schwimmstellenvertretung mit einer Präzision gibt es insgesamt 32 Bit, um die reelle Zahl zu speichern. Von den 32 Bit wird das bedeutendste Bit als Zeichenbit verwendet, die folgenden 8 Bit werden als Exponent verwendet, und die folgenden 23 Bit werden als Fraktion verwendet.

Im Fall der IEEE-754 Double Precision Floating Point Repräsentation gibt es insgesamt 64 Bit, um die reelle Zahl zu speichern. Von den 64 Bit wird das bedeutendste Bit als Zeichenbit verwendet, die folgenden 11 Bit werden als Exponent verwendet und die folgenden 52 Bit werden als Fraktion verwendet.

Wenn Sie jedoch die reellen Zahlen drucken. Wenn die Genauigkeit nicht angegeben ist, wird die Standardgenauigkeit berücksichtigt, i, ich.e., Sechs Dezimalstellen nach dem Dezimalpunkt. In den folgenden Beispielen zeigen wir Ihnen, wie Sie Präzision beim Drucken von Gleitpunktzahlen in der C-Programmiersprache angeben können.

Beispiele

Nachdem Sie ein grundlegendes Verständnis der Präzision haben, sollten wir uns einige Beispiele ansehen:

    1. Standardpräzision für Float
    2. Standardpräzision für doppelt
    3. Setzen Sie die Präzision für Float ein
    4. Präzision für doppelt einstellen

Beispiel 1: Standardpräzision für Float

Dieses Beispiel zeigt, dass die Standardgenauigkeit nach dem Dezimalpunkt auf sechs Ziffern eingestellt ist. Wir haben eine Float -Variable mit dem Wert 2 initialisiert.7 und druckte es, ohne die Präzision ausdrücklich anzugeben.

In diesem Fall stellt die standardmäßige Präzisionseinstellung sicher, dass sechs Ziffern nach dem Druck des Dezimalpunkts gedruckt werden.

#enthalten
int main ()

float f = 2.7;
printf ("\ nValue von f = %f \ n", f);
printf ("Größe von Float = %ld \ n", Größe von (float));
Rückkehr 0;

Beispiel 2: Standardpräzision für Double

In diesem Beispiel werden Sie feststellen. Wir haben eine doppelte Variable initialisiert, ich.e., D, mit dem Wert 2.7 und druckte es, ohne die Präzision anzugeben. In diesem Fall stellt die standardmäßige Präzisionseinstellung sicher, dass sechs Ziffern nach dem Druck des Dezimalpunkts gedruckt werden.

#enthalten
int main ()

Doppel d = 2.7;
printf ("\ nValue von d = %lf \ n", d);
printf ("Größe von Double = %ld \ n", Größe (doppelt));
Rückkehr 0;

Beispiel 3: Präzision für Float festlegen

Jetzt zeigen wir Ihnen, wie Sie Präzision für Float -Werte festlegen können. Wir haben eine Float -Variable initialisiert, ich.e., f, mit dem Wert 2.7 und druckte es mit verschiedenen Präzisionseinstellungen. Wenn wir „%0“ erwähnen.4f ”In der Printf -Anweisung zeigt dies an, dass wir nach dem Dezimalpunkt vier Ziffern drucken möchten.

#enthalten
int main ()

float f = 2.7;
/ * Präzision für Float -Variable einstellen */
printf ("\ nValue of f (Precision = 0).1) = %0.1f \ n ", f);
printf ("\ nValue of f (Precision = 0).2) = %0.2f \ n ", f);
printf ("\ nValue of f (Precision = 0).3) = %0.3f \ n ", f);
printf ("\ nValue of f (Precision = 0).4) = %0.4f \ n ", f);
printf ("\ nValue of f (Precision = 0).22) = %0.22f \ n ", f);
printf ("\ nValue of f (Precision = 0).23) = %0.23f \ n ", f);
printf ("\ nValue of f (Precision = 0).24) = %0.24f \ n ", f);
printf ("\ nValue of f (Precision = 0).25) = %0.25f \ n ", f);
printf ("\ nValue of f (Precision = 0).40) = %0.40f \ n ", f);
printf ("Größe von Float = %ld \ n", Größe von (float));
Rückkehr 0;

Beispiel 4: Präzision für doppelt einstellen

In diesem Beispiel werden wir sehen, wie die Präzision für Doppelwerte festgelegt werden kann. Wir haben eine doppelte Variable initialisiert, ich.e., D, mit dem Wert 2.7 und druckte es mit verschiedenen Präzisionseinstellungen. Wenn wir „%0“ erwähnen.52f ”In der Printf -Anweisung zeigt dies an, dass wir nach dem Dezimalpunkt 52 Ziffern drucken möchten.

#enthalten
int main ()

float f = 2.7;
/ * Präzision für Float -Variable einstellen */
printf ("\ nValue of f (Precision = 0).1) = %0.1f \ n ", f);
printf ("\ nValue of f (Precision = 0).2) = %0.2f \ n ", f);
printf ("\ nValue of f (Precision = 0).3) = %0.3f \ n ", f);
printf ("\ nValue of f (Precision = 0).4) = %0.4f \ n ", f);
printf ("\ nValue of f (Precision = 0).22) = %0.22f \ n ", f);
printf ("\ nValue of f (Precision = 0).23) = %0.23f \ n ", f);
printf ("\ nValue of f (Precision = 0).24) = %0.24f \ n ", f);
printf ("\ nValue of f (Precision = 0).25) = %0.25f \ n ", f);
printf ("\ nValue of f (Precision = 0).40) = %0.40f \ n ", f);
printf ("Größe von Float = %ld \ n", Größe von (float));
Rückkehr 0;

Abschluss

Präzision ist ein sehr wichtiger Faktor für die Darstellung einer reellen Zahl mit angemessener Genauigkeit. Die C -Programmiersprache bietet den Mechanismus zur Kontrolle der Genauigkeit oder Genauigkeit einer reellen Zahl. Wir können jedoch nicht die tatsächliche Präzision der realen Zahl ändern. Zum Beispiel wird der Bruchteil einer 32-Bit-Schwimmpunktzahl mit einer Prezision durch 23 Bit dargestellt, die festgelegt ist. Wir können dies für ein bestimmtes System nicht ändern. Wir können nur entscheiden, wie viel Genauigkeit wir wollen, indem wir die gewünschte Präzision der realen Zahl festlegen. Wenn wir mehr Genauigkeit benötigen, können wir immer die 64-Bit.