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

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

RES: [shell-script] Operações aritméticas não-inteiras


From: Julio Cezar Neves - DISB.O
Subject: RES: [shell-script] Operações aritméticas não-inteiras
Date: Fri, 13 Sep 2002 14:52:47 -0300

Olá Cassiano, tudo bem tchê?

Como ja informou o nosso colega Thobias, vc pode estipular a qtd de decimais
com a opção scale do comando bc. No mesmo comando, vc tb pode estipular a
base de entrada (ibase=16 -> Hexadecimal) e a de saida (obase=8 -> octal).
Muito legal o bc!

Há muito tempo (ainda não conhecia o bc) fiz un scriptzinho para fazer
divisão decimal que coloco ai embaixo para quem quiser copiar ou estudar.
Para executá-lo faça :

div.sh <dividendo> <divisor> <precisão>
Prompt> div.sh 22 7 4
3,1428

Prompt> cat div.sh
#!/bin/sh
#
# Faz divisao entre inteiros com resto em decimais
#

if  [ $# -ne 3 ]
then
    echo "Uso: `basename $0` dividendo divisor decimais"
    exit
fi

Divid=$1
Divis=$2
Decim=$3

Resp=`expr $Divid / $Divis`,
while [ "$Decim" -gt 0 ]
do
    Divid=`expr $Divid % $Divis \* 10`
    Resp=$Resp`expr $Divid / $Divis`
    Decim=`expr $Decim - 1`
done
echo $Resp

[ ]s,
Julio Cezar Neves
-Eu Apoio o Software Livre-
-I Support Free Software-
* +55 21 2528-7070  /  9853-4044
*address@hidden


> -----Mensagem original-----
> De: Cassiano Sombrio_Hp [mailto:address@hidden]
> Enviada em: sexta-feira, 13 de setembro de 2002 12:38
> Para: Lista Shell Script (E-mail)
> Assunto: [shell-script] Operações aritméticas não-inteiras
> 
> 
> 
>       Olá pessoal,
> 
>       gostaria de saber se é possível realizar operações 
> não-inteiras via
> shell-script, como, por exemplo, dividir 3 por 2 e resultar 
> 1.5 ao invés de
> 1.
> 
>       Obrigado,
>       Cassiano
> 
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de 
> programação, como perl, C etc. Quem insistir em não seguir 
> esta regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 



reply via email to

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