C Tutorial/Data Type/float number

Материал из C\C++ эксперт
Перейти к: навигация, поиск

C provides two main floating-point representations: float (single precision) and double (double precision).

A floating-point number has a fractional part and a biased exponent.

Float occupies 4 bytes and double occupies 8 bytes.

2.17.float number 2.17.1. C provides two main floating-point representations: float (single precision) and double (double precision). 2.17.2. <A href="/Tutorial/C/0040__Data-Type/Formatsforrepresentingfloatingpoints.htm">Formats for representing floating points</a> 2.17.3. <A href="/Tutorial/C/0040__Data-Type/Usetheformatfforprintingfloatingnumbers.htm">Use the format %f for printing floating numbers</a> 2.17.4. <A href="/Tutorial/C/0040__Data-Type/Forprintingdoubleyoucanuself.htm">For printing double you can use %lf.</a>

Formats for representing floating points

<source lang="cpp">#include <stdio.h> main() {

   float f1 = 0.23456;
   float f2 = 2.3456E-1;
   float f3 = .23456;
   float f4 = .23456e-2;
   float f5 = 2.3456E-4;
   float f6 = -.232456E-4;
   float f7 = 2345.6;
   float f8 = 23.456E2;
   float f9 = 23456e3;
   printf("%e \n", f1);
   printf("%e \n", f2);
   printf("%e \n", f3);
   printf("%e \n", f4);
   printf("%e \n", f5);
   printf("%e \n", f6);
   printf("%e \n", f7);
   printf("%e \n", f8);
   printf("%e \n", f9);

}</source>

2.345600e-01
      2.345600e-01
      2.345600e-01
      2.345600e-03
      2.345600e-04
      -2.324560e-05
      2.345600e+03
      2.345600e+03
      2.345600e+07

For printing double you can use %lf.

<source lang="cpp">#include <stdio.h> main() {

   double f1 = 123456789123456789.23456;
   printf("%lf \n", f1);

}</source>

123456789123456784.000000

Use the format %f for printing floating numbers

<source lang="cpp">#include <stdio.h> main() {

   float f1 = 0.23456;
   printf("%f \n", f1);

}</source>