Though the expression of numerical value has been used for the unit up to now

Two kinds of numerical values treated by C language exist.

It is an **integer and a real number**.

The **integer** is a number in which 0 and a negative number were added to the natural number.

It is a number such as 1 and 1, 0, 5, 8, and -7 for instance ･･･.

In short, we are usually using, and a usual number is called an integer.

The **real number** is a number in which the decimal value was added to the integer.

For instance, it is the numbers such as 1.0, 5.2, and 9.687 and -3.14159.

In short, the number including the decimal is called a real number.

Moreover, the integer can use three kinds of writing.

It has divided into three kinds (the decimal number, the octal number, and the hexadecimal number).

Format | -adic number |

Figure | Decimal number |

0 figures | Octal number |

0x figure | Hexadecimal number |

100, 25, 68, 71, and 19023 for instance etc. It is a decimal number.

The **number in which 0 is applied to the head** is treated as an octal number.

0152,027, 0756, and 030303 for instance etc. It is an octal number.

In a usual sense, 0152 also : Though it is thought that 152 is the same number

In C language, it is necessary to note it because 0152 is interpreted as the octal number (It is 106 in the decimal number).

Moreover, it makes an error of the number called 089 by a similar reason in C language.

Because 8 in the octal number The reason for the figure called nine is that it doesn't use it.

Actually, to the head because it is rare to use the octal number I do not think that you should apply 0.

There is separately no problem because it is By the way, even the octal number : when assuming 0 0.

Being used unexpectedly well is this : in the **hexadecimal number** to the head It shows applying 0x.

For instance, 0xFF, 0xA7, 0x912C, and 0xABCD, etc. are hexadecimal numbers.

In C language, to the expression of the numerical value of the local meaning like the character-code etc.

Another for whom hexadecimal number might be used in custom

The mark of the hexadecimal number is frequently used in the processing of the bit operation etc.

Of course, though beginner's person doesn't think that he or she will use it for the present.

Only the decimal number can be used for the mark of the real number.

Though there is variously method of treating the real number with the computer

The method of calling the **floating decimal point arithmetic** for C language is used.

Therefore, there is what calls the real number a floatage decimal in the world of C language well.

[ Floating decimal point arithmetic ]

Method of showing real number value at position of row of numerical value (mantissa) and decimal point (exponent part).

The power etc. of the value of ten how many are expressed in the mantissa, and it multiplies and the real number is expressed.

The calculation is slow though it can treat from a huge number to a minimum number and is convenient.

In the calculation done in the preceding chapter, the answer of 10/3(10÷3) has been gotten with three.

I want to calculate this by using the real number as accurately as possible.

However, because it is not a fraction, it is not possible to calculate perfectly and accurately. Pardon it.

If the numerical value is made a real number to calculate by the real number, it automatically becomes a calculation of the real number.

[ Correct count ]

It isdifficult to do an accurate calculationwith the computer in this manner.

Besides the number that must be not able to be divided is generated if you use the real number

There is an error margin that occurs because it calculates by the binary number, too.

- Actually, in the binary number The numerical value such as 0.1 cannot be shown accurately.

Though it doesn't become a major issue in case of the half-adjust if usual

The computer etc. of the bank where accuracy is necessary

Seem to have the mechanism calculating as a fraction of the decimal number.

The calculation : as another notes in it though they are unquestionable.

An output conversion finger fixed child who uses it when displaying it changes, too.

Though %d finger fixed child had been used up to now when the numerical value was displayed

This is a finger fixed child to convert the integral value into the figure.

When the real number value is converted into the figure, it is not possible to do if **%f** finger fixed child is not used.

It is easy now if it understands here.

As for the program of the preceding chapter, the following program is a mending example to the calculation by the real number.

The execution result of this program becomes as follows.#include <stdio.h> int main(void) { printf("%f\n",10.0 + 3.0); printf("%f\n",10.0 - 3.0); printf("%f\n",10.0 * 3.0); printf("%f\n",10.0 / 3.0); return 0; }

It became an answer of the feeling said the calculation really by the real number.

13.000000

7.000000

30.000000

3.333333

This is natural though %(surplus) operator is not used this time.

Because it is not possible to calculate, % operator cannot be so used by the real number.

< - It is advanced -> | in | head that returns to returning next |.