shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problemas com numeros altos


From: Reinaldo Carvalho
Subject: Problemas com numeros altos
Date: Thu, 10 Nov 2005 16:10:37 -0300

Amigos,

em uma máquina com debian woody com kernel 2.4.31 e bash version
2.05a.0(1)-release (i386-pc-linux-gnu), tenho o seguinte problema:

x:/# expr 99999999 + 1
100000000
x:/# expr 999999999 + 1
1000000000
x:/# expr 9999999999 + 1
1410065408
x:/# expr 99999999999 + 1
1215752192
x:/# expr 999999999999 + 1
-727379968
x:/# expr 9999999999999 + 1
1316134912
x:/# expr 99999999999999 + 1
276447232

já em uma máquina com debian sarge kernel 2.6.14 e bash version
2.05b.0(1)-release (i386-pc-linux-gnu) funciona:

x:/# expr 99999999 + 1
100000000
x:/# expr 999999999 + 1
1000000000
x:/# expr 9999999999 + 1
10000000000
x:/# expr 99999999999 + 1
100000000000
x:/# expr 999999999999 + 1
1000000000000
x:/# expr 9999999999999 + 1
10000000000000
x:/# expr 99999999999999 + 1
100000000000000

Vale ressaltar o problema ocorre em qualquer tipo de conta tanto com
'expr' e '$(())', sendo que as contas funcionam corretamente com 'bc'
em qualquer sistema.

Alguém sabe explicar se tem uma limitação no kernel 2.4, ou bash2.05b?
ou é uma variavel que define a mascara que o expr / $(()) trabalha?

Qual a melhor forma de checar essa limitação no intuito de fazer um
script compatível?


--
Reinaldo Carvalho
Debian Sarge 3.1 - Linux User: #238310
Prodepa - address@hidden


reply via email to

[Prev in Thread] Current Thread [Next in Thread]