Trunc c что это
Перейти к содержимому

Trunc c что это

trunc, truncf, truncl

Определяют ближайшего целое число, которое меньше или равно заданному значению с плавающей запятой.

Синтаксис

Параметры

x
Значение для усечения.

Возвращаемое значение

В случае успеха возвращает целое значение x, округленное в сторону нуля.

В случае неудачи может возвращать одно из следующих значений:

Проблема Возвращает
x = ± бесконечности x
x = ± 0 x
x = NaN не число

Сообщает об ошибках, как указано в _matherr.

Remarks

Поскольку C++ допускает перегрузку, можно вызывать перегрузки TRUNC , которые принимают и возвращают float типы и long double . В программе на языке C, если вы не используете < макрос tgmath. h > для вызова этой функции, TRUNC всегда принимает и возвращает double .

При использовании < макроса tgmath. h > trunc() тип аргумента определяет, какая версия функции выбрана. Подробные сведения см. в разделе Type-Generic Math .

Поскольку наибольшими значениями с плавающей запятой являются целые числа, эта функция не будет переполняться сама по себе. Тем не менее можно вызвать переполнение этой функции, возвращая значение в целочисленный тип.

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

Функция trunc() в C++

Функция trunc() в C ++ округляет аргумент до нуля и возвращает ближайшее целое значение, которое по величине не превышает аргумент.

прототип trunc() [в соответствии со стандартом C ++ 11]

Функция trunc() принимает единственный аргумент и возвращает значение типа double, float или long double. Эта функция определена в заголовочном файле <cmath>.

Параметры

Принимает единственный аргумент, значение trunc которого должно быть вычислено.

Возвращаемое значение

Округляет x до нуля и возвращает ближайшее целое значение, которое по величине не превышает x.

Просто функция trunc() обрезает значение после десятичной дроби и возвращает только целую часть.

Как trunc() работает в C ++?

Пример для целочисленных типов

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

trunc (), truncf (), truncl () на языке Си

Все три функции используются для удаления цифр после десятичной точки и возврата измененного десятичного числа.

trunc (): усекает двойное значение после десятичной точки и дает целую часть в качестве результата. Возвращаемое значение и аргументы имеют тип double.

Syntax :
double trunc(double x);

Parameters:
x :It takes a double value as an input and then truncates the values after the decimal point.

Return Value :
It returns a double value whose values after the decimal point is 0 only.

// C программа для демонстрации
// trunc () функция
#include <stdio.h>

// библиотека, содержащая функцию усечения
#include <math.h>

// используя функцию trunc, которая возвращает

// Усеченное значение ввода

double x1 = 2.0, x2 = 3.9, x3 = -3.3, x4 = 4.9;

printf ( » Truncated value is %lf \n» , trunc(x1) );

printf ( » Truncated value is %lf \n» , trunc(x2) );

// Для отрицательных значений

printf ( » Truncated value is %lf \n» , trunc(x3) );

printf ( » Truncated value is %lf \n» , trunc(x4) );

truncf (): он работает так же, как trunc, с той разницей, что он используется для float вместо double. Принимает значение с плавающей запятой, удаляет цифры после десятичной точки и возвращает измененное значение с плавающей запятой.

Syntax :
float truncf(float x);

Parameters:
x :It takes a floating point value as an input and then truncates the values after the decimal point.

Return Value :
It returns a float whose values after the decimal point is 0 only.

// C программа для демонстрации функции truncf ()
#include <stdio.h>
#include <math.h>

float x1 = 2.0, x2 = 3.9, x3 = -3.3, x4 = 4.9;

// используя функцию truncf, которая возвращает

// Усеченное значение ввода

printf ( » Truncated value is %f \n» , truncf(x1) );

printf ( » Truncated value is %f \n» , truncf(x2) );

// Для отрицательных значений

printf ( » Truncated value is %f \n» , truncf(x3) );

printf ( » Truncated value is %f \n» , truncf(x4) );

truncl (): это работает аналогично для long double и по функциональности аналогично trunc () и truncf ()

Syntax :
long double truncl (long double x);

Parameters:
x :It takes a long double value as an input and then truncates the values after the decimal point.

Return Value :
It returns a decimal value whose values after the decimal point is 0 only.

В случае положительных значений:

// C программа для демонстрации функции truncl ()
#include <stdio.h>
#include <math.h>

long double x1 = 2.0, x2 = 3.9, x3 = -3.3, x4 = 4.9;

// используя функцию truncf, которая возвращает

// Усеченное значение ввода

printf ( » Truncated value is %Lf \n» , truncl(x1) );

printf ( » Truncated value is %Lf \n» , truncl(x2) );

// Для отрицательных значений

printf ( » Truncated value is %Lf \n» , truncl(x3) );

printf ( » Truncated value is %Lf \n» , truncl(x4) );

Мы можем использовать функцию trunc () всякий раз, когда нам нужно вычислить целочисленную часть из двойного типа данных. Преимущество этой функции заключается в том, что независимо от того, каким десятичным значением может быть целая часть, она остается неизменной. В функциях ceil, floor или round целочисленное значение изменяется, а в функции усечения — нет.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *