У меня проблема с точностью чисел float:
int main(void) {
double b = 106.829599;
float a = b;
std::cerr << std::setprecision(6) << "a = " << a << "; b = " << b << std::endl;
std::cerr << std::setprecision(7) << "a = " << a << "; b = " << b << std::endl;
}
результат:
a = 106.83; b = 106.83
a = 106.8296; b = 106.8296
Итак, мой вопрос: почему числа в первой строке такие короткие (я ожидал увидеть 106.829)
gcc 4.1.2, также я сделал тест на LWS