12

How to calculate very long numbers in bash?

param=$(( 3247238523785623478565 + 53453453252345346534563412634 ))

echo $param
3420247196502465471

as we see here, this isn't the right answer because of the limit of integer numbers.

Jeff Schaller
  • 66,199
  • 35
  • 114
  • 250
maihabunash
  • 6,973
  • 19
  • 64
  • 80
  • [Take your pick](http://unix.stackexchange.com/q/40786/12779) – Marco May 11 '15 at 16:14
  • the link above "How do integer & float" does not say anything about long numbers in bash. Most of the answers depend on tools other than bash (not always an option). so this is not a duplicate of that – philwalk Feb 14 '18 at 21:20

1 Answers1

14

Use bc ("an arbitrary precision calculator language"):

param=$(bc <<< '3247238523785623478565 + 53453453252345346534563412634')
choroba
  • 45,735
  • 7
  • 84
  • 110