Найти в Дзене
D21nk Master

Я в этой теме плаваю

Юзеры windows освоили как заставить свою программу говорить по-русски,так же мы написали программу с простеньким шифрованием.Сегодня и займёмся числами с плавающими точками или в простонародье десятичные дроби.

Почему их вообще назвали числами с плавающими точками? Всё просто,потому что их можно свободно передвигать:

Сейчас у меня число 216

А теперь 21.6

Теперь 0.216

Ну вы поняли.

Перед началом оговоримся об модификаторе вывода в printf и собственно ввода в scanf используется следующий: "%f",всё просто float в %f.

В группе уже возникала проблема,во время написания калькулятора хотелось оперировать не только целыми числами,но и дробными.В этом нам поможет тип данных float,который занимает 4 байта:

float pi=3.14;

Если вы запустите программу с выводом этой переменной-то получите 3.140000.Не совсем то,что мы ожидали,убрать лишнее поможет функция printf:

printf("%.2f\n",pi);

Означает-выведи лишь два знака после точки.Получим 3.14.Ещё более интересный вывод можно получить,если использовать следующий код:

float a=3.16;
printf("%.1f\n",pi);

"Всего 4 байта?! А если придётся хранить число больше,сейчас 21 век или что?!" Можете вы спросить,а я отвечу вам:"На этот случай у нас имеется ещё один тип данных double" или тип данных двойной точности.Так же,хранит числа с плавающей точкой.

Сколько он занимает места я вам не скажу,но позвольте вам сказать как это можно узнать.В си имеется оператор,котоый новички,а бывает и бывалые программеры называют функцией и им совсем не стыдно.Выглядит он так sizeof(аргумент),а используется так:

sizeof(double);

Возвращает размер аргумента,это не обязательно должен быть тип данных,это может быть что угодно.Даже функция.Попробуйте.

На этом мы пока закончим.Домашние задание:переписать калькулятор с плавающими переменными.Желаю успехов!