Я создаю измерительное приложение, и -0 очень полезен для смешанных чисел (например, деление на футы и дюймы).
Представьте, что у нас есть переменная «длина», которую мыпытаясь разделить на "футы" и "дюймы".
(Это код Java, но та же идея верна для C ++).
feet = Math.signum(length) * Math.floor(Math.abs(length / 12));
// could also do feet = length>0 ? Math.floor(length / 12) : Math.ceil(length / 12)
inches = Math.abs(length) % 12;
Если длина между -1футов и 0 футов, мы бы хотели, чтобы это было -0 для ног, чтобы мы знали, что это отрицательно.