c中两个整数相除回取整,那么用结果乘以除数计算的值会与原来的被除数不相等,如何才能获得正确的值

C语言

int a = 64000;
int b = 1920;

int c = 64000/1920;
。。。
c = 33;

如何根据c的值,计算出原来的a值64000;因为c*b= 33 *1920 = 63360;
int a = 64000;
int b = 1920;

int c = 64000/1920;
int d = 64000%1920;
。。。
if (c*1920+d == a)...

存一下余数

int c = a / b;
int d = a % b;
int e = c * b + d;//原数

或者用浮点数

double c = (double)a / b;
int e = (int)(c * b);

除后取整会丢失余数信息,如果想获得原数就得保存余数,再乘的时候再加上,整型直接相乘是不可能获得原值的,除非ab是整除关系。

确实会自动取整,但是是自动整数取底。比如说3.5,它就自动变成3.
教你两个有用的,支持的话就来个赞。
ceil取顶,3.5就是4,floor取底,3.5就是3.round四舍五入不解释。
非常方便,程序设计会用到的。不用客气,我是acmAK小王子。
想还原只能取余了,楼上取余是对的,我就不多说了。