【问题标题】:Comparing inequalities for Go bigInt? [closed]比较 Go bigInt 的不等式? [关闭]
【发布时间】:2021-12-31 09:18:12
【问题描述】:

我正在尝试比较两个大整数。我正在查看文档:https://pkg.go.dev/math/big#Int,我没有看到不等式运算符,但我看到了等式运算符 (Cmp)。

我要如何比较大整数 a 和大整数 b? 我是要从 a 中减去 b 并比较符号吗?还是我缺少什么?例如

c := (new.bigInt).Sub(a, b)
i := c.Sign()
if i < 0 {
    fmt.Println("a < b")
}

对我来说似乎有点奇怪,没有不等式运算符,网上对此也没有太多了解,所以我认为我做错了什么。

【问题讨论】:

  • 你想做什么,看看一个数字是大于还是小于另一个?我很困惑为什么Cmp 不能实现你想要的
  • 如果数字相等,Cmp 返回零,因此如果 a.Cmp(b) != 0 则它们不相等
  • 请在您的问题中包含语法正确、可运行的示例。目前还不清楚c := (new.bigInt).Sub(a, b) 应该在这里做什么,但它肯定不会编译或运行。

标签: go biginteger bigint inequality inequalities


【解决方案1】:

Cmp 返回:-1 如果 x y

Go Playground Example

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多