小编vbu*_*ym 的帖子

golang大数减法

我不认为我必须写它,但我在任何地方都找不到至少一个减去大数的例子

所以我有两个数字,我想将它们相减,库说内存只有限制,但是,当我尝试减去两个 256 位数字时,我收到错误。

告诉我该怎么办以及如何解决?我开始学习Go,一切看起来都是那么的酷,然而我却不断遇到类似的问题。怎么了.......

package main

import (
    "fmt"
    "math/big"
)

func main() {
    a := big.NewInt(113792089237316195423570985008687907853269984665640564039457584007908834671645)
    b := big.NewInt(20277110887056303803699431755396003735040374760118964734768299847012543114150)
    c := big.NewInt(0).Sub(a, b)
    fmt.Println("c =", c)
}
Run Code Online (Sandbox Code Playgroud)

输出:

*prog.go:9:18: constant 113792089237316195423570985008687907853269984665640564039457584007908834671645 overflows int64
prog.go:10:18: constant 20277110887056303803699431755396003735040374760118964734768299847012543114150 overflows int64*
Run Code Online (Sandbox Code Playgroud)

我使用的是 go 版本 go1.12.4 linux/amd64

操场上的这段代码: https ://play.golang.org/p/AY8Z8kkCRdg

biginteger go

-2
推荐指数
1
解决办法
3576
查看次数

标签 统计

biginteger ×1

go ×1