标签: modulo

Android:哪个运算符为模数(%不适用于负数)

如果我试试

int a=(-2)%6
Run Code Online (Sandbox Code Playgroud)

我得-2而不是4.

为什么它以负数表示这种方式?

java android modulo

8
推荐指数
2
解决办法
4万
查看次数

用于限制纬度和经度值的模数

我有代表纬度和经度的双打.
我可以使用以下功能轻松地将经度限制在(-180.0,180.0).

double limitLon(double lon)
{
  return fmod(lon - 180.0, 360.0) + 180.0;
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为一端是独占的,另一端是包容性的.fmod包括0但不包括-360.0.

任何人都可以想到一个优雅的纬度方法吗?
所需间隔为[-90.0,90.0].封闭形式的解决方案是最好的,即没有循环.我认为fmod()可能不是首发,因为现在两端都是包容性的.

编辑:正如所指出的那样,无论如何都不能进入91度纬度.技术上91应该映射到89.0.哦,男孩,这会改变一切.

c math floating-point modulo intervals

8
推荐指数
3
解决办法
2777
查看次数

为什么Java 8 Nashorn(JavaScript)模数返回0.0(double)而不是0(整数)?

请考虑以下代码示例:

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class Tester {

  public static void main( String[] args ) throws Exception {
      ScriptEngine se = new ScriptEngineManager().getEngineByName( "nashorn" );

      Object eval = se.eval( "5%5" );

      System.out.println( "eval = " + eval );
      System.out.println( "eval.getClass() = " + eval.getClass() );
  }
}
Run Code Online (Sandbox Code Playgroud)

为什么它产生以下输出?

eval = 0.0
eval.getClass()= class java.lang.Double

结果类型java.lang.Double奇怪.

如果余数不同于0则正确返回java.lang.Integer,例如5%2返回java.lang.Integer' with value1`.

只有0才是特别的.

在Firefox 32.0.2(FindBugs控制台)中尝试相同的JavaScript表达式可以正常工作并返回plain 0.

有没有办法强迫Nashorn返回Integer类型而不是Double?

javascript modulo java-8 nashorn

8
推荐指数
3
解决办法
1875
查看次数

如何获得商和除数的余数

我有一个employee表包含:

emp id      Sum
------      ---
1            7
2            6
Run Code Online (Sandbox Code Playgroud)

我想要一个SQL查询来获得除以Sum8 时的商和余数.

mysql sql numbers division modulo

7
推荐指数
2
解决办法
4万
查看次数

为什么0没有从列表中删除?

我在测试splice迭代数组时是如何工作的,并且不明白为什么0留在列表中?

var array = [2, 5, 9, 14, 0, 1, 3, 6, 7];
for (var i = 0; i < array.length; i++) { 
    if (array[i]%2 == 0) { 
        array.splice(i,1); 
    } 
}

//0 % 2 == 0  is true, and yet
//array = [5, 9, 0, 1, 3, 7]
Run Code Online (Sandbox Code Playgroud)

javascript arrays modulo

7
推荐指数
2
解决办法
119
查看次数

是否存在产生商和提醒的除法运算?

目前我写了一些丑陋的代码

    def div(dividend: Int, divisor: Int) = {
        val q = dividend / divisor
        val mod = dividend % divisor
        (q, mod)
    } 
Run Code Online (Sandbox Code Playgroud)

是否在标准库中指定?

math scala division modulo

7
推荐指数
3
解决办法
4247
查看次数

无法在glsl中使用'%'

在今天编写着色器程序时,遇到了我必须%用来查找余数的情况.GLSL给了我一个错误,说它在当前版本中不可用.

我试过几个问题.GLSL不支持递归函数和while循环,如果我想创建一个可以给我结果的函数,则需要它(a % b).

所以,我现在卡住了.有人可以帮我弄这个吗?

编辑.我试图使用本网站的一些着色器代码作为参考代码来模拟CRT屏幕.我想修改某些行和列的像素颜色,所以我需要使用模运算符.

起初,我认为模数函数是使用%运算符完成的.它不起作用,所以我尝试使用递归函数/ while循环作为模数函数的变通方法,它也不起作用.

opengl glsl modulo

7
推荐指数
1
解决办法
1万
查看次数

具有大数量的模数% - 无穷大错误 - Javascript

是否有诀窍在Javascript中获取大数字的模数.我得到了modulo(7, 16971, 25777) 无穷无尽的7 ^ 16971mod25777 = NaN

function modulo (n, p, m){
var x = Math.pow(n, p);
var y = m;
var z = x%y;
alert(x);
return z;
}
Run Code Online (Sandbox Code Playgroud)

javascript math modulo infinity pow

7
推荐指数
1
解决办法
1207
查看次数

为什么模运算在Java VS Perl中会产生不同的结果?

我在Java 7中运行它,我得到:

double remainder1 = 1 % 1000;
double remainder2 = 0.01 % 1000;
double remainder3 = -1 % 1000;

System.out.println("START: "+remainder1+" | "+remainder2+" | "+remainder3);
>>>START: 1.0 | 0.01 | -1.0
Run Code Online (Sandbox Code Playgroud)

但是当我在Perl 5.8.8中运行相同的操作时,我得到了三分之二的不同结果:

my $remainder1 = 1 % 1000;
my $remainder2 = 0.01 % 1000;
my $remainder3 = -1 % 1000;
print "START: $remainder1 | $remainder2 | $remainder3";
>>>START: 1 | 0 | 999
Run Code Online (Sandbox Code Playgroud)

为什么在最后两次计算中存在这样的差异?如何让perl匹配java结果?

java perl modulo

7
推荐指数
2
解决办法
196
查看次数

FizzBu​​zz Ruby单线程

Rosettacode.org在Ruby中提供了这个出色的单行FizzBu​​zz解决方案.

1.upto(100){|n|puts'FizzBuzz '[i=n**4%-15,i+13]||n}
Run Code Online (Sandbox Code Playgroud)

麻烦的是,我不明白.令我困惑的部分是"4模数-15的力量".有没有人有解释或参考解释?我想用这种方法在其他问题中选择子串.有关FizzBu​​zz的更多信息,请参阅[ https://rosettacode.org/wiki/FizzBu​​zz ]

ruby math substring fizzbuzz modulo

7
推荐指数
1
解决办法
474
查看次数