【发布时间】: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