Try this on Windows
Steps:
 Open Calculator directly or by typing calc in RUN.
 Then type 4 and take square root "sqrt"
 And whatever you get(ideally you will get 2!), substract 2 from it.
Now My Question is, is this mathematically right ??
Try this on Windows Steps:
Now My Question is, is this mathematically right ?? 

migrated from stackoverflow.com Nov 9 '10 at 10:46This question came from our site for professional and enthusiast programmers. 


Ideally not right, but the way floating point number are represented inside computer would result in such unexpected answer. If you look into the numerical value of the answer, it is very close to 0, that is the expected answer. 


it is giving 8.1648465955514287168521180122928e39 which is basically = 0 as it have 10^39... 


No, it's not mathematically right. 22 = 0 :) Calc is giving is 0.0000000000000000001, which means the sqrt function yielded a number very close to 2, but which had some tiny fractional portion rounded off for display purposes. When you subtract 2, you get a number which is very close to 0, but not quite. It's an artifact of how floating point numbers are stored in a computer. Every (non symbolic) calculator will have some problems that produce incorrect results like that. For instance, try (sqrt(pi))^2pi, which should be 0. I just tried it in this online calculator and got 1.3691388027. 

