标签: integer-division

Java中整数之间的划分

我需要在Java中执行整数之间的划分,结果应该是一个浮点数.

我可以只使用/符号吗?如:

int integer1 = 1;
int integer2 = 2;
float quotient = integer1 / integer2; // Could I do this?
Run Code Online (Sandbox Code Playgroud)

java math integer-division

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

Python中的整数除法

我对python中的以下整数数学感到困惑:

-7/3 = -3自从(-3)*3 = -9 < -7.我明白.

7/-3 = -3我不明白这是如何定义的.(-3)*(-3) = 9 > 7.在我看来,它应该是-2,因为(-3)*(-2) = 6 < 7.

这是如何运作的?

python math integer integer-division

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

对于c ++整数,1除以2是否可靠地等于0,而3/2 = 1,5/2 = 2等?

有两个不同但相关大小的向量.较大的是(2 * RESOLUTION) + INDEX_OFFSET(例如2050)而较小的是RESOLUTION(例如1024).我认为它足够安全,可以假设它uint16_t可以用来包含向量索引.

通过递增resultIndex2 来执行通过较大向量的迭代.在每次迭代期间,对索引处的较小向量进行赋值(resultIndex - INDEX_OFFSET) / 2.

本质上,代码依赖于以下假设:无论INDEX_OFFSET是奇数还是偶数,上面的2除以总是向下舍入,无论架构如何.例如,如果resultIndex是0或1,则预期为0,如果是2或3则预期为1,依此类推.在上述参数范围内,这是一个安全的假设吗?

NB我承认存在'划分整数类型 - 结果是否可预测?' 但它似乎并不完全匹配.

c++ integer-division

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

划分(6.022/6.022 = 1000)Java时获得1000作为答案而不是1

所以,我是编程的新手,我试图制作一个基本的鼹鼠(化学)计算器只是为了好玩.我没有找到这个问题.如果有人回答,请发给我链接.

这是公式:n = N / Nawhere n = moleNa = 6.022E23

代码的第一部分抛出错误.只是试图得到一个,用我的给定N除以Na,甚至用6.022而不是6.022E23我得到1000.0作为答案.

Scanner in = new Scanner(System.in);
double Na = 6.022;

System.out.print("What do you want to know? Mol(0) or N(1)? ");
int first = in.nextInt();
if (first == 0){
    System.out.print("Insert N: ");
    double N = in.nextDouble();
    double mol = N/Na;
    System.out.print("There are " + mol + " mol in that sample.");
}
else if (first == 1){
    System.out.print("Insert mol: ");
    double mol = in.nextDouble();
    double N …
Run Code Online (Sandbox Code Playgroud)

java integer-division

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

将整数除以k个部分

我正在用java编程,我需要制定一个算法.算法的要求是:

  • 我们有3个整数变量n,m,k,
  • 我们想要分成nk部分,以便k-parts 的总和等于n,每个部分是1和之间的整数m.
  • 我们希望所有可能的组合与允许的整数.

例如,输入集:

n = 7; m = 3; k = 4
Run Code Online (Sandbox Code Playgroud)

我们可以制定两种不同的组合:

7 = 2 + 2 + 2 + 1
Run Code Online (Sandbox Code Playgroud)

7 = 3 + 2 + 1 + 1
Run Code Online (Sandbox Code Playgroud)

谢谢你们.

java algorithm integer-division

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

C/C++ 中带符号整数除法的快速下限

在 C 中可以进行楼层划分,例如:

int floor_div(int a, int b) {
    int d = a / b;
    if (a < 0 != b < 0) {  /* negative output (check inputs since 'd' isn't floored) */
        if (d * a != b) {  /* avoid modulo, use multiply instead */
            d -= 1;        /* floor */
        }
    }
    return d;
}
Run Code Online (Sandbox Code Playgroud)

但这似乎可以简化。

在 C 中有没有更有效的方法来做到这一点?


请注意,这几乎与这个问题相反:C/C++ 中整数除法的快速上限

c integer-division floor-division

6
推荐指数
3
解决办法
2861
查看次数

c ++中的"if"语句不会从左到右评估条件

为了理解c ++中"if"语句的评估顺序,我指的是问题" "IF"参数评估顺序? ".

下面是if语句中的条件以错误的顺序计算的代码.

#include <iostream>

using namespace std;

int main()
{
    int t = 0;
    if((1 / t) == 1 && t != 0)
    {
        cout << "0" << endl;
    }

    cout << "1" << endl;

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

结果是1而不是浮点异常.

c++ integer-division divide-by-zero c++11 c++14

6
推荐指数
2
解决办法
517
查看次数

可疑整数除法的检查样式规则?

是否有一个 checkstyle 规则可以捕获这样的内容:

double result = someInt / someOtherInt;
Run Code Online (Sandbox Code Playgroud)

result 是 double (所以显然需要分数)但右侧会进行整数除法(向下取整)。

这样的东西存在吗?

java checkstyle integer-division spotbugs

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

C中四舍五入的有符号整数除法

我想计算 x/y,其中 x 和 y 都是有符号整数,并将结果四舍五入到最接近的整数。具体来说,我想要一个rquotient(x, y)仅使用整数算术的函数,以便:

ASSERT(rquotient(59, 4) == 15);
ASSERT(rquotient(59, -4) == -15);
ASSERT(rquotient(-59, 4) == -15);
ASSERT(rquotient(-59, -4) == 15);

ASSERT(rquotient(57, 4) == 14);
ASSERT(rquotient(57, -4) == -14);
ASSERT(rquotient(-57, 4) == -14);
ASSERT(rquotient(-57, -4) == 14);
Run Code Online (Sandbox Code Playgroud)

我已经向 SO 寻求解决方案,并发现以下内容(每个都有自己的缺点):

c signed integer-division

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

是否可以在 C++ 中的单个操作中同时获得除法的模数和商数?

我听说当处理器执行 / 或 % 时,它将执行相同的操作,但以一种方式返回商,另一种方式返回余数。

是否可以在一次操作中同时获得两者?也许如果我加入一段汇编代码(我从未做过)?

c++ assembly integer-division modulus

6
推荐指数
2
解决办法
199
查看次数