2015-04-28 2 views
4

В моем случае использования, я хотел бы знать, как следующий код Java будет реализован в GoЧто такое эквивалент для bigint.pow (a) в Go?

BigInteger base = new BigInteger("16"); 
int exponent = 1; 
BigInteger a = base.pow(exponent); //16^1 = 16 

Я могу импортировать math/big пакет и создавать большие целые числа, но не в состоянии сделать Pow() функцию Идти. Также я не нашел функцию в Go doc.

Должен ли я реализовать свою собственную версию Pow() для bigint? Может ли кто-нибудь помочь мне в этом?

ответ

7

Использовать Exp с m установлен на nil.

var i, e = big.NewInt(16), big.NewInt(2) 
i.Exp(i, e, nil) 
fmt.Println(i) // Prints 256 

площадка: http://play.golang.org/p/0QFbNHEsn5

+0

Он работал. Я ценю это! – Dany