UDP: не сравнивать float с double, а float c float и double c double. Мухи отдельно, котлеты отдельно.
Пишу маленькую, ущербную, но гордую штуку дабы тестировать «С»
код, ну и подумалось что порой надо проверять выхлоп функций float/double c точностью до последнего бита.
Ну для тех кто не в курсе ::)
float a = 0.000001;
float b = 0.000001;
if(a == b)
{
puts("Радость\n");
}else{
puts("Мааам они чё тупые вообще чтоль маааам\n");
}
Как железно сравнить float/double без math.h? будет ли такое, эмм нормальным?
if(0.0 == (a - b))
{
puts("Гип-гип, все флоаты братья!\n");
}else{
puts("Хммм, в наших рядах таиться враг!Эркюль Пуаро идёт на помощь!");
};
Или просто побитово сравнить? Но что-то это слишком топорно вроде
Ну и по традиции cast сишников i-rinat, beastie, ncrmnt, Iron_Bug. Здрасти снова :D Ну смысл поста ещё в том что может какие ньюансы есть компиляторов или ещё чего, в том плане вдруг я не в курсе, а есть палки какие?