Курс по JavaScript | «Проблемные» числа в JS; IEEE 754 и хранение чисел в памяти компьютера
🍊 Браузер выдаёт операционную систему последним битом: как математика стала цифровым отпечатком
Один вызов `Math.tanh(0.8)` способен рассказать сайту больше, чем кажется. На Linux результат может оканчиваться на `8491`, на macOS — на `849`, а на Windows — на `8489`. Для человека это одно и то же число. Для системы защиты от ботов — три разных цифровых подписи. Исследование Scrapfly показывает любопытный и немного тревожный эффект: современный Chrome в некоторых случаях считает одну и ту же математическую функцию по-разному на разных операционных системах. Разница прячется в последних битах числа, но она стабильна, дёшева в проверке и может выдать подмену окружения...