fork download
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. int main()
  5. {
  6. {
  7. float a=12345678.0;
  8. float b=12345679.0;
  9. float c=1.01233995;
  10. float p=(a+b+c)/2;
  11. std::cout << "(float)p-b = " << p-b << "\n";
  12. float pole=sqrt(p*(p-a)*(p-b)*(p-c));
  13. std::cout << "(float)Pole = " << pole << "\n";
  14. }
  15. {
  16. double a=12345678.0;
  17. double b=12345679.0;
  18. double c=1.01233995;
  19. double p=(a+b+c)/2;
  20. std::cout << "(double)p-b = " << p-b << "\n";
  21. double pole=sqrt(p*(p-a)*(p-b)*(p-c));
  22. std::cout << "(double)Pole = " << pole << "\n";
  23. }
  24. }
Success #stdin #stdout 0s 2852KB
stdin
Standard input is empty
stdout
(float)p-b = 0
(float)Pole = 0
(double)p-b = 0.00616997
(double)Pole = 972730