Реализация с фиксированной точкой int min

Я читаю о положительной и отрицательной бесконечности в 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; ?

кто-то может это очистить?

1

Решение

Это зависит от вашего представления знака, но я предполагаю, что это дополнение к двум.

В этом случае мы имеем -x = ~x + 1 так x + (~x) = -1 за каждое подписанное целое число х.

Так int min = (~max) + -1 = - ( (unsigned int) max) + -1

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]