Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否有任何数学实用方法来计算以下表达式?_Java - Fatal编程技术网

Java 是否有任何数学实用方法来计算以下表达式?

Java 是否有任何数学实用方法来计算以下表达式?,java,Java,是否有任何数学实用方法来计算以下表达式?基本上,我需要找到小于或等于x的最大整数,它可以被N平均除 x - x % N; // N is an integer. 对于正整数:(x/N)*N (如果需要严格小于x vs 0。)对于正整数:(x/N)*N (如果它需要严格小于x vs 0。)如果x是一个正整数,N是2的幂,你可以做x&-N 编辑:它是-n而不是2-n,感谢Peter Lawrey指出如果x是一个正整数,n是2的幂,你可以做x&-n 编辑:它是-n而不是2-n,感谢Peter L

是否有任何数学实用方法来计算以下表达式?基本上,我需要找到小于或等于x的最大整数,它可以被N平均除

  x - x % N; // N is an integer.
对于正整数:(x/N)*N

(如果需要严格小于x vs 0。)

对于正整数:(x/N)*N


(如果它需要严格小于x vs 0。)

如果x是一个正整数,N是2的幂,你可以做x&-N


编辑:它是-n而不是2-n,感谢Peter Lawrey指出

如果x是一个正整数,n是2的幂,你可以做x&-n


编辑:它是-n而不是2-n,感谢Peter Lawrey指出,如果x是正整数,那么您可以使用

int result = x - x % N;
int result = N * (int)(x/N);

如果x是正数,那么可以使用

int result = x - x % N;
int result = N * (int)(x/N);

如果x是正整数,则可以使用

int result = x - x % N;
int result = N * (int)(x/N);

如果x是正数,那么可以使用

int result = x - x % N;
int result = N * (int)(x/N);


例如,
-56
10
呢<代码>-56-(-56)%10计算为
-60
-这是您期望的吗?它不是整数
x/N
?关于java不太确定,但如果你的
x
是整数,这就是我所期望的。如果
x
也是整数,你为什么不把你发布的代码放在上面呢?@MichaelKrelin hacker我想他想得到
N*(x/N)
,在这种情况下,
x=-56
N=10
会得到
-50
,因为
-56/10=-5
。嗯,是的,我没有足够的理解。例如,
-56
10
<代码>-56-(-56)%10计算为
-60
-这是您期望的吗?它不是整数
x/N
?关于java不太确定,但如果你的
x
是整数,这就是我所期望的。如果
x
也是整数,你为什么不把你发布的代码放在上面呢?@MichaelKrelin hacker我想他想得到
N*(x/N)
,在这种情况下,
x=-56
N=10
会得到
-50
,因为
-56/10=-5
。嗯,是的,我没有足够的意义。适用于x和N的所有整数值,其中N!=0,只要问题定义是整数,最大绝对值可能比“x”更接近于零,但处理所有情况会让我头疼。我不得不编辑我的评论,因为当x小于0时,逻辑会颠倒。当x为负数时,它会找到大于x的最小整数。我将其限制为正数的一个原因是,不清楚OP在算术上是要“更小”还是要“更小”。还有一个问题就是除法是如何处理负数的——我对那些略显神秘的规则的记忆总是有点不稳定。适用于x和N的所有整数值,其中N!=0,只要问题定义是整数,最大绝对值可能比“x”更接近于零,但处理所有情况会让我头疼。我不得不编辑我的评论,因为当x小于0时,逻辑会颠倒。当x为负数时,它会找到大于x的最小整数。我将其限制为正数的一个原因是,不清楚OP在算术上是要“更小”还是要“更小”。还有一个问题就是除法是如何处理负数的——我对那些略显神秘的规则的记忆总是有点不稳定。是的,如果N是2的幂,你可以做一些非常奇怪(而且神秘)的舍入运算。(总是很好地评论这样的逻辑,因为即使三个月后你也不会理解。)是的,如果N是2的幂,你可以做一些非常奇怪(而且神秘)的舍入操作。(一定要好好评论一下这种逻辑,因为即使是3个月后你也不会理解。)