внезапно здесь
но строго говоря любое 4-х байтовое число может быть float, ибо NAN это тоже float.
но есть нюанс, «Не число» NaN кодируется всеми единичками в поле экспоненты и
ненулевой мантиссой.
то есть
float a,b;
isnan(a) == true
isnan(b) == true
a == b -
возможны варианты. вариантов нет, false
а вот ((uint32_t)a) == ((uint32_t)b) возможны варианты