[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Problemas com numeros altos
From: |
Rodrigo Monteiro |
Subject: |
Re: [shell-script] Problemas com numeros altos |
Date: |
Thu, 10 Nov 2005 16:20:58 -0300 |
Olá Reinaldo.
On 11/10/05, Reinaldo Carvalho <address@hidden> wrote:
> 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?
>
Só uma curiosidade... como vc mesmo falou que com o bc todos os casos
funcionou corretamente, porque não o usa?
>
> --
> Reinaldo Carvalho
> Debian Sarge 3.1 - Linux User: #238310
> Prodepa - address@hidden
>
[]s
--
"Free as in Freedom, not free as in free beer"
Rodrigo Monteiro
JID: address@hidden
address@hidden