Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
242 of 1492 menu
◀ ▶

Метод BitDecrement

Статический метод Math.BitDecrement для double сдвигает представление на один шаг к double.NegativeInfinity. Для 0.0 результат равен -double.Epsilon. Это соседнее по битам значение, а не вычитание 1.

Синтаксис

double next = Math.BitDecrement(value);

Пример

Давайте проверим BitDecrement(0.0):

using System; class Program { static void Main() { Console.WriteLine(Math.BitDecrement(0.0) == -double.Epsilon); } }

Результат выполнения кода:

True

Пример

Давайте сдвинуть -1.0 на шаг вниз:

using System; using System.Globalization; class Program { static void Main() { double next = Math.BitDecrement(-1.0); Console.WriteLine(next < -1.0); Console.WriteLine(next.ToString(CultureInfo.InvariantCulture)); } }

Результат выполнения кода:

True "-1.0000000000000002"

Пример

Давайте убедиться, что BitDecrement не равен - 1:

using System; class Program { static void Main() { double next = Math.BitDecrement(5.0); Console.WriteLine(next == 4.0); } }

Результат выполнения кода:

False

Смотрите также

  • метод BitIncrement,
    который сдвигает double к плюс бесконечности
  • константа Epsilon,
    которая участвует в BitDecrement нуля
  • метод BigMul,
    который умножает int без переполнения
  • метод DivRem,
    который делит большие целые
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить