Формат чисел IEEE специально разработан таким образом, чтобы можно было использовать «простое» целочисленное сравнение.Однако это применимо только при сравнении двух чисел с одним и тем же знаком.
Ваше предложение дополнить числа, если они отрицательные, является обоснованным, поэтому это будет работать.-Inf: s и для ненормальных чисел.NaN: s, однако, не будет работать, или, скорее, они будут считаться «большими», чем inf: s.
Единственный проблемный случай - «-Zero» (т.е.и мантисса = 0).Согласно IEEE, Zero == -Zero.Вы должны решить, хотите ли вы выбросить -Zero как Zero, трактовать их как разные или добавить специальный код в процедуру сравнения.