小编Ted*_*ool的帖子

为什么模数定义为编程语言中的模式

我不是在询问定义,而是为什么语言创建者选择在C++中定义具有不对称行为的模数.(我认为Java也是)

假设我想找到大于或等于n的最小数,它可以被f整除.

如果n是正数,那么我做:

if(n % f)
   ans = n + f - n % f;
Run Code Online (Sandbox Code Playgroud)

如果n为负数:

ans = n - n % f;
Run Code Online (Sandbox Code Playgroud)

显然,在处理负数和正数时,这个定义并不是最有利的.那为什么这样定义呢?在什么情况下会产生权宜之计?

language-agnostic math language-design modulus

5
推荐指数
1
解决办法
357
查看次数