درود
درحال تمرین بش هستم.یک برنامه نوشتم که با دریافت عدد فاکتوریل اون رو حساب میکنه.ولی مقادیر بزرگ رو یا صفر میکنه یا منفی!!
دلیلش چیه؟؟
کد برنامه :
#!/usr/bin/bash
fact=1
read -p "enter yout factor: " n
for ((i=1;i<=${n};i++))
do
fact=$((fact * i))
done
echo -e "\nyour fact is ${fact}\n"
به عنوان مثال با دریافت عدد ۴۵ این خروجی رو میده:
-8797348664486920192
چرا ؟