#bash numbers stop at 64 bits; bc counts with any number of digits
a1=9223372036854775807
#a1 is the largest bash number
b=255
c=1000
a2=$(bc <<< "$a1 * $c")
#a2 is 9223372036854775807000
#without scale bc divides to a whole number
a3=$(bc <<< "($a2 + $c) / $b")
#a3 is 36170086419038336501
#scale sets the digits after the point
a4=$(bc <<< "scale=2; ($a2 + $c) / $b")
#a4 is 36170086419038336501.96
#trap: bc breaks a number longer than 70 characters with a backslash;
#BC_LINE_LENGTH=0 keeps it in one line
a5=$(BC_LINE_LENGTH=0 bc <<< "2 ^ 256")
digits=${#a5}
#digits is 78
echo "a2 is $a2"
echo "a3 is $a3"
echo "a4 is $a4"
echo "a5 is $a5"
echo "digits is $digits"