https://medium.com/@gauravkumarsde2003/efficient-power-calculation-in-c-using-binary-exponentiation-4e2f1e5d224a