标签: integer-division

如何在Go中进行分工

我想在Go中执行一个简单的划分.

fmt.Println(3/10)
Run Code Online (Sandbox Code Playgroud)

这打印0而不是0.3.这有点奇怪.有人可以分享一下这背后的原因是什么?我想在Go中执行不同的算术运算.

谢谢

math floating-point go integer-division

69
推荐指数
2
解决办法
5万
查看次数

舍入整数除法(而不是截断)

我很想知道如何将数字舍入到最接近的第十个整数.例如,如果我有:

int a = 59 / 4;
Run Code Online (Sandbox Code Playgroud)

以浮点计算的14.75; 如何将数字存储为"a"中的15?

c math int rounding integer-division

67
推荐指数
9
解决办法
13万
查看次数

我应该如何在Perl中进行整数除法?

在Perl中总是进行整数除法的好方法是什么?

例如,我想:

real / int = int

int / real = int

int / int = int
Run Code Online (Sandbox Code Playgroud)

perl integer-division

57
推荐指数
3
解决办法
10万
查看次数

python中整数除法和浮点到整数转换之间差异的原因是什么?

我最近注意到将int()浮点数舍入到 0,而整数除法将浮点数舍入到它的下限。

例如:

-7 // 2 = -4
int(-7/2) = -3
Run Code Online (Sandbox Code Playgroud)

我已阅读指定的文档:

类 int(x, base=10)

返回一个由数字或字符串 x 构造的整数对象,如果没有给出参数,则返回 0。如果 x 是数字,则返回 x。整数()。对于浮点数,这会向零截断。

和:

楼层划分

向下舍入到最接近的整数的数学除法楼层除法运算符是 //。例如,与 float true 除法返回的 2.75 相比,表达式 11 // 4 的计算结果为 2。请注意 (-11) // 4 是 -3,因为这是向下舍入的 -2.75。参见 PEP 238。

但对我来说,2 个类似的操作(浮点除法到整数)应该返回不同的结果似乎不合逻辑。

功能之间的差异是否有任何动机?

谢谢你。

python integer-division python-3.x

56
推荐指数
2
解决办法
2552
查看次数

除以两个整数以产生浮点结果

可能重复:
为什么我不能从被分割的两个整数中返回一个双精度数

即使我尝试将输出放入浮点数,我的C++程序也会截断整数分割的输出.如何在保持变量(a和b)为整数的同时防止这种情况?

user@box:~/c/precision$ cat precision.cpp
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
  int a = 10, b = 3;
  float ans = (a/b);
  cout<<fixed<<setprecision(3);
  cout << (a/b) << endl;
  cout << ans << endl;
  return 0;
}

user@box:~/c/precision$ g++ -o precision precision.cpp 
user@box:~/c/precision$ ./precision 
3
3.000
Run Code Online (Sandbox Code Playgroud)

c++ precision integer-division

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

为什么两个整数的除法在Java中返回0.0?

int totalOptCount = 500;
int totalRespCount=1500; 
float percentage =(float)(totalOptCount/totalRespCount);
Run Code Online (Sandbox Code Playgroud)

为什么这总是返回值0.0?另外我想将其格式化为00.00格式并转换为字符串?

java floating-point integer-division

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

为什么整数除法在许多脚本语言中向下舍入?

在我测试的语言中,- (x div y )不等于-x div y; 我已经//在Python中,/在Ruby中,div在Perl 6中进行了测试; C有类似的行为.

这种行为通常是根据规范,因为div通常被定义为舍入向下分工的结果,但它不从的观点算术点做出很大的意义,因为它使div行为以不同的方式取决于标志,它引起混乱,如这篇文章如何在Python中完成.

这个设计决策背后是否有一些特定的理由,或者只是div从头开始定义?显然Guido van Rossum在博客文章中使用了一致性论证,解释了它是如何在Python中完成的,但如果你选择整理,你也可以有一致性.

(受到PMurias在#perl6 IRC频道中的这个问题的启发)

ruby python integer-division perl6 raku

43
推荐指数
5
解决办法
4663
查看次数

为什么 __int128_t 在 x86-64 GCC 上比 long long 快?

这是我的测试代码:

#include <chrono>
#include <iostream>
#include <cstdlib>
using namespace std;

using ll = long long;

int main()
{
    __int128_t a, b;
    ll x, y;

    a = rand() + 10000000;
    b = rand() % 50000;
    auto t0 = chrono::steady_clock::now();
    for (int i = 0; i < 100000000; i++)
    {
        a += b;
        a /= b;
        b *= a;
        b -= a;
        a %= b;
    }
    cout << chrono::duration_cast<chrono::milliseconds>(chrono::steady_clock::now() - t0).count() << ' '
         << (ll)a % 100000 << '\n';

    x = …
Run Code Online (Sandbox Code Playgroud)

c++ performance x86-64 cpu-architecture integer-division

43
推荐指数
2
解决办法
3808
查看次数

负整数除法令人惊讶的结果

在我的应用程序中,我遇到了以下结果,并对结果感到惊讶:

8/-7=-2 (两个整数).

这意味着什么?

python division integer-division

42
推荐指数
3
解决办法
2万
查看次数

使用位移除以10?

是否有可能通过使用纯位加法,减法除以10的无符号整数,也许繁衍?使用资源非常有限且速度慢的处理器.

math bit low-level integer-division micro-optimization

41
推荐指数
4
解决办法
5万
查看次数