Uzyskaj następny najmniejszy numer podwójny

W ramach testu jednostkowego muszę przetestować pewne warunki brzegowe. Jedna metoda akceptujeSystem.Double argument.

Czy istnieje sposób na zdobycienastępny najmniejszy podwójna wartość? (tj. zmniejszyć mantysę o 1 wartość jednostkową)?

Rozważałem użycieDouble.Epsilon ale to niewiarygodne, ponieważ jest to najmniejsza delta od zera, a więc nie działa dla większych wartości (tj.9999999999 - Double.Epsilon == 9999999999).

Jaki jest więc algorytm lub kod, którego potrzebujesz:

NextSmallest(Double d) < d

... jest zawsze prawdziwe.

questionAnswers(2)

yourAnswerToTheQuestion