printf_example2.pas 497 B

1234567891011121314151617181920212223242526
  1. program printf_example2;
  2. {$mode objfpc}{$H+}
  3. uses
  4. sysutils, math, gmp;
  5. const
  6. N = 2;
  7. NBITS = 100;
  8. var
  9. f: mpfloat;
  10. bits, digits: integer;
  11. begin
  12. f_set_default_prec(NBITS);
  13. bits := f_get_default_prec;
  14. digits := floor(bits * LOG_10_2);
  15. f := f_sqrt_ui(N);
  16. writeln(format('Sqrt(%d) to %d digits (%d bits) = %s', [N, digits, bits, string(f)]));
  17. f := f ** 2;
  18. writeln(format('Squared back = %s', [string(f)]));
  19. f -= N;
  20. writeln(format('Minus %d = %s', [N, string(f)]));
  21. end.