Math. Floor Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает наибольшее целое число, которое меньше или равно указанному числу.
Перегрузки
Возвращает наибольшее целое число, которое меньше или равно заданному числу с плавающей запятой двойной точности.
Возвращает наибольшее целое число, которое меньше или равно указанному десятичному числу.
Комментарии
Поведение этого метода соответствует стандарту IEEE 754, раздел 4. Такой тип округления иногда называют округлением в сторону отрицательной бесконечности.
Floor(Double)
Возвращает наибольшее целое число, которое меньше или равно заданному числу с плавающей запятой двойной точности.
public: static double Floor(double d);
public static double Floor (double d);
static member Floor : double -> double
Public Shared Function Floor (d As Double) As Double
Параметры
Число двойной точности с плавающей запятой.
Возвращаемое значение
Наибольшее целое число, которое меньше или равно d . Если значение параметра d равно NaN, NegativeInfinity или PositiveInfinity, возвращается это значение.
Примеры
В следующем примере показан Math.Floor(Double) метод и он контрастирует с методом Ceiling(Double) .
double[] values = ; Console.WriteLine(" Value Ceiling Floor\n"); foreach (double value in values) Console.WriteLine(" ", value, Math.Ceiling(value), Math.Floor(value)); // The example displays the following output to the console: // Value Ceiling Floor // // 7.03 8 7 // 7.64 8 7 // 0.12 1 0 // -0.12 0 -1 // -7.1 -7 -8 // -7.6 -7 -8
// The ceil and floor functions may be used instead. let values = [ 7.03; 7.64; 0.12; -0.12; -7.1; -7.6 ] printfn " Value Ceiling Floor\n" for value in values do printfn $" " // The example displays the following output to the console: // Value Ceiling Floor // // 7.03 8 7 // 7.64 8 7 // 0.12 1 0 // -0.12 0 -1 // -7.1 -7 -8 // -7.6 -7 -8
Dim values() As Double = Console.WriteLine(" Value Ceiling Floor") Console.WriteLine() For Each value As Double In values Console.WriteLine(" ", _ value, Math.Ceiling(value), Math.Floor(value)) Next ' The example displays the following output to the console: ' Value Ceiling Floor ' ' 7.03 8 7 ' 7.64 8 7 ' 0.12 1 0 ' -0.12 0 -1 ' -7.1 -7 -8 ' -7.6 -7 -8
Комментарии
Поведение этого метода соответствует стандарту IEEE 754, раздел 4. Такой тип округления иногда называют округлением в сторону отрицательной бесконечности. Другими словами, если d является положительным, любой дробный компонент усекается. Если d является отрицательным, то наличие любого дробного компонента приводит к тому, что он округляется до меньшего целого числа. Операция этого метода отличается от Ceiling метода , который поддерживает округление до положительной бесконечности.
Начиная с Visual Basic 15.8, производительность преобразования double-to-integer оптимизирована при передаче значения, возвращаемого методом, в любую из функций целочисленного преобразования или если значение Double, возвращаемое , автоматически преобразуется в целое число с параметром Floor Floor Option Strict, равным Off. Эта оптимизация позволяет коду выполняться быстрее — до двух раз быстрее для кода, который выполняет большое количество преобразований в целочисленные типы. В следующем примере показаны такие оптимизированные преобразования:
Dim d1 As Double = 1043.75133 Dim i1 As Integer = CInt(Math.Floor(d1)) ' Result: 1043 Dim d2 As Double = 7968.4136 Dim i2 As Integer = CInt(Math.Floor(d2)) ' Result: 7968
Функция floor
Функция выполняет округление значения val и возвращает наибольшее целое значение, которое не больше, чем val .
В Си, определён только один прототип данной функции, с типом данных double .
Параметры:
Возвращаемое значение
Наибольшее целое значение не большее, чем val .
Пример: исходный код программы
// пример использования функции floor #include // для оператора cout #include // для функции floor int main()
Пример работы программы
CppStudio.com
floor(2.3) = 2
floor(3.8) = 3
floor(-2.3) = -3
floor(-3.8) = -4
Дата: 07.09.2012
Поделиться:
Оставить комментарий
Вы должны войти, чтобы оставить комментарий.
Rust Journey: Хотите освоить язык программирования, который завоевывает мир?
Илон Маск, один из ведущих инноваторов нашего времени, утверждает, что за Rust будущее. А когда последний раз он ошибался в своих прогнозах?
✨ Не упустите свой шанс быть в авангарде IT-революции. Подписывайтесь на канал Rust Journey и начните свой путь в захватывающий мир Rust сегодня!
floor , floorf , floorl
Функции floor возвращают значение с плавающей запятой, которое представляет наибольшее целое число, не превосходящее x . Не возвращается ошибка.
| Входные данные | Исключение SEH | Исключение _matherr |
|---|---|---|
| ± QNaN, IND | нет | _DOMAIN |
Функция floor содержит реализацию, которая использует Streaming SIMD Extensions 2 (SSE2). Сведения и ограничения по использованию реализации SSE2 см. в разделе _set_SSE2_enable .
Замечания
Так как C++ допускает перегрузку, можно вызывать перегрузки floor , которые принимают и возвращают значения типов float и long double . В программе C, если вы не используете для вызова этой функции, floor всегда принимает и возвращает значение double .
Если вы используете floor() , тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе «Математика с универсальным типом».
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью «Глобальное состояние» в CRT.
Требования
| Функция | Обязательный заголовок |
|---|---|
| floor , floorf , floorl | |
| floor Макрос |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_floor.c // This example displays the largest integers // less than or equal to the floating-point values 2.8 // and -2.8. It then shows the smallest integers greater // than or equal to 2.8 and -2.8. #include #include int main( void )
The floor of 2.8 is 2.000000 The floor of -2.8 is -3.000000 The ceil of 2.8 is 3.000000 The ceil of -2.8 is -2.000000
floor
Y = floor( X ) раунды каждый элемент X до ближайшего целого числа, меньше чем или равного тому элементу.
Y = floor( t ) раунды каждый элемент duration массив t к самому близкому номеру секунд, меньше чем или равных тому элементу.
Y = floor( t , unit ) раунды каждый элемент t к самому близкому количеству заданного модуля времени, меньше чем или равного тому элементу.
Примеры
Круглые элементы матрицы к отрицательной бесконечности
X = [-1.9 -0.2 3.4; 5.6 7.0 2.4+3.6i]; Y = floor(X)
Y = 2×3 complex -2.0000 + 0.0000i -1.0000 + 0.0000i 3.0000 + 0.0000i 5.0000 + 0.0000i 7.0000 + 0.0000i 2.0000 + 3.0000i
Круглые значения длительности к отрицательной бесконечности
Вокруг каждого значения в duration массив к самому близкому номеру секунд, меньше чем или равных тому значению.
t = hours(8) + minutes(29:31) + seconds(1.23); t.Format = 'hh:mm:ss.SS'
t = 1x3 duration 08:29:01.23 08:30:01.23 08:31:01.23
Y1 = floor(t)
Y1 = 1x3 duration 08:29:01.00 08:30:01.00 08:31:01.00
Вокруг каждого значения в t к самому близкому номеру часов, меньше чем или равных тому значению.
Y2 = floor(t,'hours')
Y2 = 1x3 duration 08:00:00.00 08:00:00.00 08:00:00.00
Входные параметры
X — Входной массив
скаляр | вектор | матрица | многомерный массив
Входной массив, заданный как скалярный, векторный, матричный или многомерный массив. Для комплексного X пол обрабатывает действительные и мнимые части независимо.
floor преобразует логический и char элементы X в double значения.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | logical
Поддержка комплексного числа: Да
t — Введите длительность
duration массив
Введите длительность в виде duration массив.
unit — Модуль времени
‘seconds’ (значение по умолчанию) | ‘minutes’ | ‘hours’ | ‘days’ | ‘years’
Модуль времени в виде ‘seconds’ минуты часы дни , или ‘years’ . Длительность 1 года равна точно 365,2425 24-часовым дням.
Расширенные возможности
«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.
Указания и ограничения по применению:
- Генерация кода не поддерживает char или logical типы данных для X .
Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.
Указания и ограничения по применению:
- Генерация кода не поддерживает char или logical типы данных для X .
Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool .
Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox) .
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox) .
Смотрите также
Темы
- Целые числа
- Числа с плавающей запятой
Представлено до R2006a
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация MATLAB
Поддержка
- MATLAB Answers
- Помощь в установке
- Отчеты об ошибках
- Требования к продукту
- Загрузка программного обеспечения
© 1994-2021 The MathWorks, Inc.
- Условия использования
- Патенты
- Торговые марки
- Список благодарностей
Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.