标签: division

浮点除法不完美

我知道浮点数并不完美,无论是它float还是double,但它是否意味着,当我将一个浮点数除以另一个浮点数并且除数可被除法器整除而没有提醒(如10000.0可被10.0整除) ),有可能我得到一个数字.99999999 ...在最后只有一小部分小于正确的结果.浮点数会发生这种情况吗?

我需要知道,因为我需要floor在除法之后应用函数,如果浮点除法确实不完美,那将会产生巨大的差异.

c c++ floating-point division

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

循环整数范围时,将表示月数的整数转换为年数和月数

我正在使用 for 循环来显示数字 1-60:

for ($i = 0; $i <= 60; $i++)
Run Code Online (Sandbox Code Playgroud)

在循环中,我希望能够显示年数和月数。例如:

1 month
2 months
3 month
...
1 year
1 year 1 month
1 year 2 month
Run Code Online (Sandbox Code Playgroud)

等等...

我试过这个:

if (!is_float($i / 12)) {
    $years = $i/12;
} else {
    $years = 'no';
}
Run Code Online (Sandbox Code Playgroud)

这显示了 12 个月的 1、24 个月的 2,但不显示中间的时间。

php time data-conversion division modulo

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

如果不同于0除以

我经常在我的代码中有这样的陈述:

(b != 0) ? a / b : a
Run Code Online (Sandbox Code Playgroud)

在速度和最佳C++实践方面,做功能更好

float divifnotzero(a,b) { ... return ... }
Run Code Online (Sandbox Code Playgroud)

或像这样的预处理器宏?

#define divifnotzero(a,b) ((b!=0)?a/b:a)
Run Code Online (Sandbox Code Playgroud)

c++ division c-preprocessor

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

Scala 除法结果 0

我正在编译这段代码并在除法上得到 0

println((MarkAnalysis.failAmount/Student.studentsId.length).toDouble + " " + MarkAnalysis.failAmount + " " + Student.studentsId.length)
Run Code Online (Sandbox Code Playgroud)

我将其打印出来以确保除法不会返回零,并且

MarkAnalysis.failAmount = 14
MarkAnalysis.studentsId.length = 53
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我的结果是 0.0。

scala list division

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

递归函数,知道一个数字是否可以被3整除

我需要创建一个递归函数,如果输入数字可以被3整除,则返回true.我知道没有递归会更简单,但是我需要创建一个这种类型的函数.

我已经创建了一个函数,但是我想知道是否可以创建一个更好的函数,因为这个函数不起作用.我认为我应该使用这个事实:如果数字的总和可以被3整除,则自然数可以被3整除.

这是我的代码:

def divThree(num):
    if num==3:
        return true
    else:
        divThree(num-3)
Run Code Online (Sandbox Code Playgroud)

编辑:我创建了一个更好的功能,但我不明白为什么如果数字可以被3整除则不会返回true.相反,如果不是,则继续最大递归错误.

def recursiveThree(num):
  if num==3 or num==6 or num==9:
    return true
  else:
    sum=0
    sNum=str(num)
    for i in range(0,len(sNum)):
      sum=sum+int(sNum[i])
    recursiveThree(sum)
Run Code Online (Sandbox Code Playgroud)

python math recursion division python-2.7

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

C语言中如何除以整数并得到浮点数

我正在通过获取单词、句子和字母的数量来构建段落难度标签......我正在尝试除以整数并获得浮点除法for example ((letter_counter / word_counter) * 100);(80 / 21) * 100 返回 400 而不是 380.9523,什么我做错了吗?感谢一些帮助!这是我的代码的示例!letter_counter, word_counter, sentence_counter = int


    // Putting all together
    float L = ((letter_counter / word_counter) * 100);
    printf("The L value = %f\n", L);

    float S = ((float) sentence_counter / word_counter) * 100;
    printf("The S value = %f\n", S);

    int index = round(0.0588 * L - 0.296 * S - 15.8);
    printf("Grade %i\n", index);

    if (index < 1)
    {
        printf("Before Grade 1\n");
    }
    else …
Run Code Online (Sandbox Code Playgroud)

c double int division

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

Two's Complement Division Algorithm (Intel)

On Intel machines, integer division requires a sequence of two instructions:

\n
    \n
  1. After you store the dividend in the a register (e.g., %eax), you extend the sign of the dividend into the corresponding d register (%edx).
  2. \n
  3. The idiv or div instruction itself then performs the division and places the quotient in the a register and the remainder in the d register.\nBut why does the operation require the sign extension? What does the algorithm actually do …

x86 assembly cpu-architecture division twos-complement

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

对 n 的幂执行会产生负指数的错误结果

在以下(简单的)pow(x, n)方法实现中,完全忽略任何优化方法,我发现以下问题:

public double pow(double x, int n) {  
  boolean negative = n < 0;  
  long power = Math.abs(n);  
  double ans = 1.0;  
  for(long i = 0; i < power; i++) {  
    ans = ans * x;  
  }    
  return negative ? 1.0/ans: ans;  
}  
Run Code Online (Sandbox Code Playgroud)

在这里,我假设对于负指数的情况,我只需计算x^n然后返回,1/(x^n)因为例如2^(-3) = 1/(2^3)

问题:
代码在以下情况下失败:
pow(2.00000, -2147483648)
输出是1.00000,而预期的正确结果是0.00000

如果我将代码更改如下:

public double pow(double x, int n) {  
  long power = n;  
  if(power < 0) {  
    x = …
Run Code Online (Sandbox Code Playgroud)

java algorithm math division exponent

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

PHP 致命错误:按 % 工作时未捕获 DivisionByZeroError?

我正在 PHP 中测试以下简单代码:

`<?php

echo 5 % 0.75;
Run Code Online (Sandbox Code Playgroud)

?>`

我看到误差除以零,而 0.75 不为零!?到底发生了什么?

php math division

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

如何在没有循环的情况下解决这个问题?

我们有 3 个数字 y、x 和 n。我们被要求在 1 <= k <= n 且 k % x = y 的情况下找到最大的 k。例如:输入:1 2 100 输出:99

我可以写的是:

#include <stdio.h>
int main()
{
   int y, x, n, max = 1;
   scanf("%d %d %d", &y, &x, &n);
   for (int k = 1; k <= n; k++)
   {
        if ((k % x == y) && (k >= max))
        max = k;
   }
   printf("%d", max);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

它完全正常工作。但问题是程序应该在不使用任何循环或 if 的情况下编写。有人有什么想法吗?

c loops if-statement division

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