标签: modulo

在ruby中,为什么"100.7".to_f.modulo(1)= 0.700000000000003?

这对我来说很奇怪:

irb(main):012:0> "100.7".to_f.modulo(1)
=> 0.700000000000003
Run Code Online (Sandbox Code Playgroud)

为什么3在最后?

irb(main):019:0> "10.7".to_f.modulo(1)
=> 0.699999999999999
Run Code Online (Sandbox Code Playgroud)

同样的事情......我们只得到这个值的余数除以1.应该是准确的.

ruby floating-point modulo

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

有没有办法提高此查找的速度或效率?(C/C++)

我有一个函数,我写了从64位整数转换为基数62字符串.最初,我实现了这样:

char* charset = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int charsetLength = strlen(charset);

std::string integerToKey(unsigned long long input)
{
    unsigned long long num = input;
    string key = "";

    while(num)
    {
        key += charset[num % charsetLength];
        num /= charsetLength;
    }

    return key;
}
Run Code Online (Sandbox Code Playgroud)

但是,这太慢了.

我通过提供生成查找表的选项来提高速度.该表大小约为62 字符串,生成方式如下:

// Create the integer to key conversion lookup table
int lookupChars;

if(lookupDisabled)
    lookupChars = 1;
else
    largeLookup ? lookupChars = 4 : lookupChars = 2;

lookupSize = pow(charsetLength, lookupChars);
integerToKeyLookup = new char*[lookupSize];

for(unsigned long i …
Run Code Online (Sandbox Code Playgroud)

c++ lookup optimization modulo

1
推荐指数
3
解决办法
481
查看次数

在循环数据时制作列表列?

我一直想问这个.让我们说在C#中我有一个IEnumerable<Cars>包含20个LINQ查询到我的SQL数据库的结果.

我想使用ul标签将其列为4列5列.我通常最终做的是开始第一个ul,然后foreach通过可枚举,保持一个计数器,当% 5 == 0我关闭a ul并开始一个新的...之后foreach,添加一个最终结束ul.

有一个更好的方法吗?

c# ienumerable loops modulo

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

检查数字是否按特定顺序排列

我有一个带有4个数字的int数组,它们按升序排序.

我想知道这些数字是否符合这条规则:

1, 2, 3, 4 or
5, 6, 7, 8 or
9, 10, 11, 12 or
13, 14, 15, 16
etc.
Run Code Online (Sandbox Code Playgroud)

他们不可能

2, 3, 4, 5 or
4, 5, 6, 7 or
23, 24, 25, 26
etc
Run Code Online (Sandbox Code Playgroud)

因此它们必须按顺序排列,但仅限于这4组!

我试图添加所有数字(例如1 + 2 + 3 + 4)并做模12的和,结果总是10,2,6,10,2,6等.我的想法是检查结果是这三个数字中的一个,2,6或10.

但它不能起作用,因为例如(17 + 18 + 19 + 20)%12是2是合法但但是例如(2 + 3 + 4 + 5)%12也是2但它不合法所以它是是一个错误的结果.

java arrays int modulo

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

BigInteger Modulo'%'操作&少于/多于操作

嗨,我有一个算法,我需要将操作应用于BigInt.

我知道可以使用Maths类操作BigInt,例如:

import java.math.*;

BigInteger a;
BigInteger b = BigInteger.ZERO;
BigInteger c = BigInteger.ONE;
BigInteger d = new BigInteger ("3");
BigInteger e = BigInteger.valueOf(5);

a.multiply(b);
a.add(b);
a.substract(b);
a.divide(b);
Run Code Online (Sandbox Code Playgroud)

我需要能够应用大于一段时间的条件,例如

while (a > 0) {
Run Code Online (Sandbox Code Playgroud)

这给了我一个语法错误,说"二元运算符'>'的错误操作数类型,第一种类型:java.math.BigInteger,第二种类型:int.

我还需要能够将modulo(%)运算符应用于BigInteger.

b = a % c;
Run Code Online (Sandbox Code Playgroud)

任何人都可以提出这样做​​的方法吗?

如果没有解决方案,那么我将不得不以某种方式使用reduce函数将我的BigInteger操作为一个独特的Long(这远非理想).

Silverzx.

java operators biginteger modulo long-integer

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

有没有办法对浮点数类型做“模”运算

简而言之,就是我说的:

float f;
if(f%1){
//do something
//
Run Code Online (Sandbox Code Playgroud)

它返回一个错误,是否有一种方法可以对浮点类型进行模运算,或者我必须进行转换?我正在使用xCode IDE和Objective-C语言

floating-point objective-c modulo floating-point-conversion

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

Modulo运算符Ruby的问题:为什么我得到"1..100:Range"的"未定义方法`%'"?

出于某种原因,我在undefined method '%' for 1..100:Range运行以下代码时遇到错误:

[1..100].each do |x|
  if x % 3 == 0 && x % 5 == 0
    puts "CracklePop"
  elsif x % 3 == 0
    puts "Crackle"
  elsif x % 5 == 0
    puts "Pop"
  else
    puts x
  end
end
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?任何帮助深表感谢.

ruby modulo

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

执行除法和处理器模数的最佳方法是什么?

如何同时执行除法模数.处理器有可能吗?

喜欢 :

int a, b = 8 / 3; //a = 2, b = 2
Run Code Online (Sandbox Code Playgroud)

或者是否有比以下更好的操作:

int a = 8 / 3;
int b = 8 % 3;
Run Code Online (Sandbox Code Playgroud)

也许这更好?

int a = 8 / 3;
int b = 8 - a * 3;
Run Code Online (Sandbox Code Playgroud)

谢谢.

c c++ processor division modulo

1
推荐指数
2
解决办法
159
查看次数

如何在OCaml中使用常规模运算

在OCaml -1 mod 3;;返回,-1但我希望2结果.是否有其他额外的模数指令或类似的?

ocaml modulo

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

大量的Modulo 10 | 检查数字是否为10的幂

我想在Python中检查(大整数)值是否为10的幂。通常,我只会检查该值的模10。这对于不超过1.E + 22的值都可以正常工作,然后返回奇怪的值:

lowInteger = 1.E12
highInteger = 1.E23

print(lowInteger % 10)      #as expected returns 0
>>> 0.0

print(highInteger % 10)     #returns 2.0 instead of 0.0, 1.E23 returns 3.0, etc
>>> 2.0
Run Code Online (Sandbox Code Playgroud)

python floating-point modulo python-3.x

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