longをつけても変わりませんでした。
整数計算なんですが、x^255などというでかい数字を計算するもので、unsignedなどでは桁が全然足りないのでdoubleを使ったのです。
それで、無限桁数であればいいなと思ったのです。