2014年4月12日星期六

关于C语言如何确定不比输入int值小的能被16整除的数

通过位操作最为方便快捷:
int x;
int y = (x+15) & ~15;
y 就是不比 x 小的离 x 最近的能被 16 整除的数
15 的二进制位为 0000 0000 0000 1111,因此 ~15 为 1111 1111 1111 0000,进行与操作可以保证 16 的倍数全被保留下来,+15 是为了保证 y 不比 x 小。

没有评论:

发表评论