Как Клас Саис. Если вы целое число i N , то наименьшее большее целое число будет N + 1 . Чтобы вычислить это, используя, например, C, вы могли бы написать функцию типа
unsigned long smallestLargerInteger(unsigned long startNum) {
return startNum +1;
}
Чтобы убедиться, что вы не переполняете long , у вас может быть что-то вроде
#define __HALF_MAX_SIGNED(type) ((type)1 << (sizeof(type)*8-2))
#define __MAX_SIGNED(type) (__HALF_MAX_SIGNED(type) - 1 + __HALF_MAX_SIGNED(type))
#define __MIN_SIGNED(type) (-1 - __MAX_SIGNED(type))
#define __MIN(type) ((type)-1 < 1?__MIN_SIGNED(type):(type)0)
#define __MAX(type) ((type)~__MIN(type))
unsigned long smallestLargerInteger(unsigned long startNum) {
if(__MAX(long) == startNum) {
// handle overflow error messaging here
}
return startNum +1;
}