Я читаю о положительной и отрицательной бесконечности в C ++, и я пытаюсь реализовать их в математической реализации с фиксированной запятой
я вижу, что макс. int будет равен std::numeric_limits<int>::max();
в с ++
и минимальное значение int будет равно std::numeric_limits<int>::min();
в с ++
Здесь, поскольку я определяю int max и int min вручную в моей реализации математики с фиксированной запятой, я сомневаюсь, int min = -int max;
или же int min = -int max -1;
?
кто-то может это очистить?
Это зависит от вашего представления знака, но я предполагаю, что это дополнение к двум.
В этом случае мы имеем -x = ~x + 1
так x + (~x) = -1
за каждое подписанное целое число х.
Так int min = (~max) + -1 = - ( (unsigned int) max) + -1
Других решений пока нет …