go - 求一个 big.Int 的平方根

标签 go bigint

我的项目需要使用 big.Ints,因为我使用的数字超过了 int64 限制。

对于常规整数,您可以使用以下方法对其求平方:

math.Sqrt(value)

但我不知道如何做到这一点,但使用 big.Ints。

任何帮助将不胜感激,

谢谢

最佳答案

使用https://golang.org/pkg/math/big/#Int.Sqrt big.int接口(interface)给出

package main

import (
    "fmt"
    "math/big"
)

func main() {
    var Str = `10000000000000000000000000000000000000000000000000000`
    bigInt := &big.Int{}
    value, _ := bigInt.SetString(Str, 10)
    sqrt := bigInt.Sqrt(value)
    fmt.Println(sqrt)
}

输出:

100000000000000000000000000

关于go - 求一个 big.Int 的平方根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43821111/

相关文章:

mysql - 在 golang 中显示数据库的结果

c# - 与 GO 共享 .Net 库

go - 使用http.NewRequest进行测试时,为什么我的请求URL解析不正确?

java - Postgres Bigserial 数据类型

javascript - 在 Javascript(但不是 Node)中,我如何划分两个 Uint8Arrays?

google-app-engine - 如何为在 App Engine 上运行的 Go 应用程序启动 Go Development Server

c - 这是什么?获取proccount

assembly - 如何使用 x86 汇编语言将两个 64 位数字相乘?

rust - 为什么我不能将一个 BigInt 与另一个 BigInt 相除并将其保存到我已初始化为零的变量中?

php - 如何转换 bigint 以防止 php 中的 sql 注入(inject)?