Что делает компилятор?Цель состоит в том, чтобы получить число после точки в виде целого числа.Я сделал это так:
float a = 0;
cin >> a;
int b = (a - (int)a)*10;
Теперь моя проблема заключается в следующем: когда я вхожу, например, 3.2, я получаю 2, что я и хочу.Это также работает с .4, .5 и .7.но когда я ввожу, например, 2.3, я получаю 2. Для 2.7 я получаю 6 и так далее.Но когда я делаю это без переменных, например:
(2.3 - (int)2.3)*10;
, я получаю правильный результат.
Я не мог понять, что делает компилятор.Я всегда думал, что когда я приведу число с плавающей точкой к целому числу, то оно просто срезает точку.Это то, что на самом деле делает компилятор, когда я использую постоянные числа.Однако когда я использую переменные, компилятор уменьшает некоторые из них, но не все.