Язык си модуль числа

Язык си модуль числа

Для максимальной переносимости надо использовать math.h.

Функция abs() возвращает модуль целого числа num.

Следующая функция выводит модули введенных пользователем чисел :
#include
#include

int get_abs ( )
<
char num [ 80 ] ;
gets ( num ) ;
return abs ( atoi ( num ) ) ;
>

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

abs, labs, llabs – расчет абсолютного значения

int abs (int i);
long labs (long i);
long long llabs (long long i);

i – целое число, абсолютное значение которого требуется рассчитать.

Абсолютное значение аргумента функции.

Функция abs рассчитывает абсолютное значение (модуль) целого числа (тип int с разрядностью 16 или 32 бита в зависимости от аппаратной платформы, на которой компилируется программа).

Функция labs рассчитывает абсолютное значение (модуль) 32-х разрядного целого числа. Отличие от функции abs в типе аргумента и возвращаемого значения. В функции labs используется тип long, который всегда 32 разрядный, не зависимо от архитектуры процессора.

Функция llabs рассчитывает абсолютное значение (модуль) 64-х разрядного целого числа.

В примере рассчитывается модуль числа -123 с помощью функций abs, labs и llabs, и результат выводится на консоль.

Аргумент: -123
abs : 123
labs : 123
llabs : 123

Пожалуйста, приостановите работу AdBlock на этом сайте.

Математические вычисления не ограничиваются лишь арифметическими действиями. Кроме них, можно ещё встретить корни, модули, логарифмы, тригонометрические функции и пр. Научимся же использовать подобные функции в своих программах.

Для использования математических функций нужно подключить заголовочный файл math.h . В ней определено много различных функций, но мы пока рассмотрим следующие:

Некоторые математические функции

fabs(x) модуль числа x
sqrt(x) квадратный корень из числа x
sin(x) синус числа x (х в радианах)
cos(x) косинус числа x (х в радианах)
pow(x, y) вычисление x y
exp(x) вычисление e x
log(x) натуральный логарифм числа x
log10(x) десятичный логарифм числа x

Читайте также:  Как в 10 винде найти мой компьютер

Два важных момента.

  • Все функции возвращают значение типа double .
  • Параметры функций – вещественные числа( double ), но можно передавать и целые числа. При этом произойдёт неявное преобразование типа . Компилятор из целого числа, например 3, сделает вещественное 3.0.

Примеры.
Даны длины катетов прямоугольного треугольника. Вычислить длину гипотенузы. Простая задачка на знание теоремы Пифагора.

Вычислить синус угла ввёденного с клавиатуры. Угол вводится в градусах.

В этой программе есть о чём поговорить. Тригонометрические функции, которые определены в math.h работают с радианной мерой угла. Людям же привычнее работать с градусами. Поэтому в данной программе мы предварительно перевели значение из градусов в радианы. Если этого не сделать, результат получится неправильным. Проверьте это самостоятельно.

Неявное преобразование типов

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

Неявное преобразование типов осуществляется в следующих случаях:

  1. перед передачей аргументов в функцию (как в нашем примере с корнем. Листинг 1.)
  2. выполнение арифметических операций с разными типами аргументов
  3. перед выполнением присваивания

Правила неявного преобразования типов

  • если выполняются арифметические операции с разными типами аргументов. Оба аргумента приводятся к большему типу.
    Порядок типов: int float double
  • при присваивании. Значение справа от оператора присваивания приводится к типу переменной слева от оператора присваивания. При этом, если больший тип присваивается меньшему, то может произойти потеря точности.

int+float будет автоматически преобразовано к float+float
float/int будет автоматически преобразовано к float/float
double*float будет преобразовано к double*double
int = double double будет преобразовано к int с потерей дробной части
float = int int будет преобразовано к float

Читайте также:  Монеты или слитки что лучше

Практика

Решите предложенные задачи:

Для удобства работы сразу переходите в полноэкранный режим

Ссылка на основную публикацию
Что такое экспоненциальная форма записи числа
Запись (значения) — Учётная запись Нотная запись Демо запись Двойная запись Запись MX Алфавитная запись Клятвенная запись Экспоненциальная запись Обратная...
Что мне задали завтра на русский
Проверка орфографии на 5-ege.ru (введите текст в форму ниже): Если нужно проверить пунктуацию, воспользуйтесь сервисом Проверка пунктуации онлайн. Наш сервис...
Что лучше газель некст или фиат дукато
На прошлой неделе Газель-Некст была признана лучшим автомобилем года в России. Эксперты коммерческого транспорта оценили ее в 2–3 раза выше,...
Что такое чувырла википедия
Чувырла - почётный дворянский титул, даётся чучундрам заособые заслуги. Этот вопрос уже закрыт. Вы не можете на него ответить. Ответы...
Adblock detector