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循環內的代碼不應該被執行。 我在這裏錯過了什麼?