Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Вещественные числа Objective-C

0

Для хранения числа с дробной частью (например, 3.2) используются вещественные типы (также называемые типами с плавающей запятой). Обычно программисты рассматривают вещественные числа как мантиссу, умноженную на 10 в степени целочисленной экспоненты. Например, число 345.32 рассматривается как 3.4532 х 10. Собственно, именно так эти числа хранятся: в 32-разрядном вещественном числе 8 разрядов выделяются для хранения экспоненты (целое со знаком), а 23 разряда выделяются для хранения мантиссы; еще один разряд используется для хранения знака.

Вещественные числа, как и целые, существуют в нескольких разновидностях. В отличие от целых, вещественные числа всегда имеют знак

float g; // 32-­‐разрядное число double h; // 64-­‐разрядное число

long double i; // 128-­‐разрядное число

Заполнители для вывода вещественных чисел

Функция printf() также может выводить вещественные значения, для представления которых чаше всего используются заполнители %f и %е. Включите операции вывода вещественных чисел в файл main.c:

int main (int argc, const char * argv[])

{

double y = 12345.6789; printf("y is %f\n", y); printf("y is %e\n", y);

return 0;

}

Постройте и запустите программу. Она выводит следующий результат:

y is 12345.678900 y is 1.234568e+04

Таким образом, заполнитель %f использует при выводе обычную десятичную запись, а заполнитель %е – экспоненциальную запись.

Обратите внимание: %f в настоящее время выводит 6 цифр в дробной части. Часто этого оказывается слишком много. Чтобы ограничить вывод двумя цифрами, слегка измените заполнитель:

int main (int argc, const char *argv[])

{

dоublе у = 12345.6789; printf("y is %.2f\n", у);

printf("y is %.2е\п", у); return 0;

}

Результат выглядит так:

у is 12345.68 У is 1.23е+04

Функции для работы с вещественными числами

Операторы +, -, * и / работают так, как и следовало ожидать; ничего особенного о них сказать нельзя. Если ваша программа выполняет много вещественных вычислений, вам пригодится математическая библиотека. Чтобы ознакомиться с ее возможностями, откройте на Мас окно терминала и введите команду man math. Вы получите отличную сводку всех возможностей математической библиотеки: тригонометрия, возведение в степень, квадратные и кубические корни и.т.д.

Если вы захотите использовать какие-либо математические функции в своем

коде, не забудьте включить заголовок математической библиотеки в начало файла: Предупреждение: все тригонометрические функции работают с радианами, а не

с градусами!                                                                                                                           2

#include <math.h>

Упражнение

Используйте математическую библиотеку! Включите в main.c код, который выводит синус 1 радиана. Число должно выводиться с округлением до трех цифр В дробной части (подсказка: в результате должно получиться 0.841).

Источник: Аарон Хилегас, «Objective-C. Программирование для iOS и MacOS», 2012 г.

По теме:

  • Комментарии