Развёрнутое пояснение
1️⃣𝚏𝚕𝚘𝚊𝚝("𝚒𝚗𝚏") создаёт положительную бесконечность — специальное значение, большее любого конечного числа.
2️⃣Операция 𝚡 + 𝟷 пытается прибавить 𝟷 к бесконечности. По правилам IEEE 754, ∞ + 𝚗 = ∞ для любого конечного 𝚗.
3️⃣Результат снова 𝚏𝚕𝚘𝚊𝚝("𝚒𝚗𝚏"), и сравнение 𝚏𝚕𝚘𝚊𝚝("𝚒𝚗𝚏") == 𝚏𝚕𝚘𝚊𝚝("𝚒𝚗𝚏") даёт True.
4️⃣То же самое для умножения, вычитания конечного числа: 𝚒𝚗𝚏 * 𝟸 = 𝚒𝚗𝚏, 𝚒𝚗𝚏 - 𝟷𝟶𝟶𝟶 = 𝚒𝚗𝚏.
Почему это важно
Бесконечность используют для инициализации минимумов/максимумов: 𝚖𝚒𝚗_𝚟𝚊𝚕 = 𝚏𝚕𝚘𝚊𝚝("𝚒𝚗𝚏"). Но арифметика с ней нетривиальна: 𝚒𝚗𝚏 - 𝚒𝚗𝚏 = 𝙽𝚊𝙽, а деление на 𝚒𝚗𝚏 даёт 𝟶. Это может сломать логику, если не учитывать особые случаи.
Post #4672
807
- ✍ 4
- ❤ 2