我一直在尝试计算Golang中的NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
NSURL *URL = [NSURL URLWithString:@"site.com/upload"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
。我理解limit of numeric type并尝试使用2^100
包。这是我尝试过的,但我无法弄清楚它为什么不起作用。
我使用computation by powers of two方法计算取幂。
math/big
答案 0 :(得分:11)
例如,
package main
import (
"fmt"
"math/big"
)
func main() {
z := new(big.Int).Exp(big.NewInt(2), big.NewInt(100), nil)
fmt.Println(z)
}
输出:
1267650600228229401496703205376
由于它是2的幂,你也可以做一点转变:
package main
import (
"fmt"
"math/big"
)
func main() {
z := new(big.Int).Lsh(big.NewInt(1), 100)
fmt.Println(z)
}
输出:
1267650600228229401496703205376
答案 1 :(得分:9)
BigInt包允许您calculate x^y in log time(由于某种原因,它被称为exp)。您只需要将mysqli_fetch_array
作为最后一个参数传递。
nil
如果您有兴趣自己计算它,请查看我的实现:
package main
import (
"fmt"
"math/big"
)
func main() {
fmt.Println(new(big.Int).Exp(big.NewInt(5), big.NewInt(20), nil))
}
或在go playground上播放。
答案 2 :(得分:1)
如果power % 2 == 0
,您将立即返回。相反,您只想获得result
的{{1}}。然后乘以base ** (power /2)
,如果result * result
为偶数,则将power
乘以。{/ p>
答案 3 :(得分:1)
计算2 ^ 100
package main
import (
"fmt"
"math/big"
)
func main() {
n := big.NewInt(0)
fmt.Println(n.SetBit(n, 100, 1))
}
答案 4 :(得分:0)
package main
import(
"fmt"
"math/big"
)
func main() {
bigx, power10 := new(big.Int), new(big.Int)
var x int64
bigx.SetInt64(x) //set x int64 to bigx
power10.Exp(big.NewInt(10), bigx, nil) //power10 *big.Int points to solution
str10 := power10.Text(10)
fmt.Printf(str10) // print out the number and check for your self
}