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

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

Re: [shell-script] bash: 08: valor muito grande para esta base de numera


From: Arkanon
Subject: Re: [shell-script] bash: 08: valor muito grande para esta base de numeração (error token is "08")
Date: Mon, 10 Aug 2015 10:48:25 -0300

Em 10 de agosto de 2015 10:39, Paulo Bettega address@hidden [shell-script] <address@hidden> escreveu:
 Olá Arkanon, valeu os links. Sempre achei que esse problema só aparecesse

somando 1+08 ou 1+09 por exemplo, e de 1+01 a 07 soma sem erro.
Mas no link tem esse:

echo $((10+090))
bash: 10+090: valor muito grande para esta base de numeração (error token is "090")

tirando o zero da frente dá certo
echo $((10+90))
100

mas e essa? 010 mais 90 dá quanto?
echo $((010+90))
98
será possível que o bash somou 010 binário com 90 decimal? rs

​Essa dúvida está indiretamente respondida no segundo link, que explora mais o uso de bases numéricas no bash :)
O que aconteceu aí é que o bash somou 010 em octal (base indicada implicitamente pelo 0 inicial) com 90 em decimal (base default) e mostrou o resultado em decimal.
Explicitamente, a operação acima seria escrita
$ echo $((8#10+10#90))
98

Uso mais o bc e agora awk e ksh como calculadoras, já que o bc não faz
potência de expoente fracionário (achei uma dica no LQ pra fazer isso,
mas com awk e ksh é mais direto).

 
Responder através da web
através de email Adicionar um novo tópico Mensagens neste tópico (3)
.
--
(o_  @arkanon  (Twitter)     __o
//\   address@hidden   _`\<,
V_/_      www.lsd.org.br  (_)/(_)
---------------------------------

reply via email to

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