Юзеры 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);
Возвращает размер аргумента,это не обязательно должен быть тип данных,это может быть что угодно.Даже функция.Попробуйте.
На этом мы пока закончим.Домашние задание:переписать калькулятор с плавающими переменными.Желаю успехов!