Вы можете применить масштабный коэффициент перед выполнением деления.
В вашем примере вы эффективно делаете (предполагая, что x = 1000)
a = (211/555) * x;
, который окажется
a = 0*x;
Если вы измените его на
a =(x*211)/555;
, вы можете сначала выполнить умножение, создав числитель больше 555, который позволит a быть больше 0.
Вы не можете затем разделить этот результат на 1000, потому что он все равно будет меньше 0, что не может быть сохранено в целочисленном типе данных.
Вам необходимо сохранить его в этой форме и всегда рассматривать это число как имеющее множитель 1000 (например, если единицы измерения были первоначально километрами, новое число в метрах) или вам придется использовать тип, который может обрабатывать числа меньше 1 (например, число с плавающей запятой или двойное число).