I have been lately working on a problem and I have noticed that pow() function gives me sometimes a wrong number. $$$\newline$$$ Here's an example : $$$\newline$$$ I wanted to calculate $$$3^{38}$$$ : The calculator indicates that it is equal to 1350851717672992089. However, when I executed the command pow(3,38); I got this number instead : 1350851717672992000. $$$\newline$$$ Can anyone explain to me why is this happening and how to fix it ?