如果大小是int变量
int size = 10;我想把大小乘以8,这两种方法有什么区别:
答:
size = 1 + ((size - 1)/8);
size = size * 8;B:
size = (size/8+1)*8;提前谢谢。
发布于 2016-09-26 18:05:29
用这两种方法将一个数字乘以8在C中有什么区别吗?
是。对于已经是8的倍数的输入,它们产生不同的结果。方法(A)没有改变这种输入,但是方法(B)返回8的下一个较大倍数(假设没有溢出)。
发布于 2016-09-26 18:05:15
两人正在做不同的事情:
以下是值0.19的两个片段的输出序列,并突出显示了不同之处:
发布于 2016-09-26 18:05:22
方法A保持8的倍数相同的值,并舍入其他值。
方法B不适用于8的倍数,因为它也将这些倍数圈起来。
例如:(16/8+1)*8 == (2+1)*8 == 3*8 == 24。
https://stackoverflow.com/questions/39709398
复制相似问题