Привет) Нужно вывести дробную часть числа. Например, при вводе 643.12 программа должна выдать результат 0.12 . Почему в примере ниже не хватает точности float для этой операции? Откуда там появляются знаки? Я слышал, что в компьютере числа хранятся не точно, это связано с этим?
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float n;
cin >> n;
cout << n - trunc(n) << endl;
return 0;
}

nпосле ввода 643.12, удивитесь... А вообще вам стоит почитать какой-нибудь ликбез по числам с плавающей точкой. – user7860670 Jul 31 '21 at 10:450.12в двоичное число. Увидите бесконечное количество знаков после точки. Ниfloat, ниdoubleне смогут представить его точно. – HolyBlackCat Jul 31 '21 at 10:51