Flyte og dobbelt desimalverdier . They both store floating point numbers but they differ in the level of precision to which they can store the values.
Flyte
Syntaks
float var_name ;>
- Størrelsen på flottøren er 4 byte.
- 3,4 x 10-38til 3,4 x 1038.
- Den kan lagre verdier opp til uten tap av presisjon.
- Formatspesifikasjonen for float er
Eksempel
C
år datamaskinen ble oppfunnet
matematikk tilfeldig java
// C Program to illustrate float> #include> > int> main()> {> >// Syntax of declaring and initializing> >// the float variable> >float> myVariable = 789.123456f;> > >// printing floating point number> >printf>(>'Float value is %f'>, myVariable);> >return> 0;> }> |
>
>Produksjon
Float value is 789.123474>
Merk: All the real number literals are of double type by default. Vi kan legge til en f
Dobbelt
- Størrelsen på dobbelen er
- -308til 1,7×10.
- Den kan lagre verdier opp til uten tap av presisjon.
- Formatspesifikasjonen for dobbel er %lf
Eksempel
C
e r modelleksempler
#include> > int> main()> {> >// Syntax of declaring and initializing> >// the double variable> >double> myVariable = 789.123456;> >printf>(>'Double value is %lf'>, myVariable);> >//%lf or %f both can be used to> >// print Float values> >return> 0;> }> |
>
arraylist java sortering
>Produksjon
Double value is 789.123456>
Hvordan lagres float og double?
C-språket følger IEEE 754 standard
C float Memory Representation
Størrelsen på flottøren er 32-bit, hvorav:
- skilt av nummeret.
- Den neste 8 biter eksponent.
- Det gjenværende 23 biter
Eksempel
Converting to Binary form, we get: 65 = 1000001 0.125 = 001 So, 65.125 = 1000001.001 = 1.000001001 x 106 Normalized Mantissa = 000001001 Now, according to the standard, we will get the baised exponent by adding the exponent to 127, = 127 + 6 = 133 Baised exponent = 10000101 And the signed bit is 0 (positive) So, the IEEE 754 representation of 65.125 is, 0 10000101 00000100100000000000000>
C dobbel minnerepresentasjon
Størrelsen på flottøren er 32-bit, hvorav:
hvordan konvertere int til streng
- skilt
- Den neste eksponent.
- Det gjenværende
Eksempel
From above, 65.5 = 1.000001001 x 106 Normalized Mantissa = 000001001 Now, according to the standard, bais is 1023. So, = 1023 + 6 = 1029 Baised exponent = 10000000101 And the signed bit is 0 (positive) So, the IEEE 754 representation of 65.125 is, 0 10000000101 0000010010000000000000000000000000000000000000000000>
Poeng | Flyte | Dobbelt |
|---|---|---|
| Presisjon | ||
| Minnebruk | Double bruker 64 bit eller 8 byte minne. | |
| Område | -38. | Rekkevidden for dobbel er 1,7×10. |
| %f er formatspesifikasjonen for float. | er formatspesifikasjonen for dobbel. | |
| | Tegn = 1 bit |