0
我想将一个大的int转换为字节,将这些字节转换回大的int,然后比较这两个值。我下面使用类似的代码做它:big.Int不等于big.setBytes(bigint.Bytes())后收到的一个
package main
import "fmt"
import "math/big"
func main() {
input := "37107287533902102798797998220837590246510135740250"
a := big.NewInt(0)
a.SetString(input, 10)
fmt.Println("number =", a)
z := a.Bytes()
b := big.NewInt(0)
b.SetBytes(z)
fmt.Println("number =", b)
if a!=b{
fmt.Println("foo")
}
}
输出是:
number = 37107287533902102798797998220837590246510135740250
number = 37107287533902102798797998220837590246510135740250
foo
这就奇怪了,这些数字看起来相等。 if循环内的代码不应该被执行。 我在这里错过了什么?