conversor de bases no shell

Publicado por gabriel 29/08/2008

[ Hits: 7.291 ]

Download gcalc




Meu primeiro conversor de base.

  



Esconder código-fonte

#!/bin/bash

Principal()
{
echo "====================================="
echo "| 1) entrada de numeros binarios    |"
echo "| 2) entrada de numeros decimais    |"
echo "| 3) entrada de numeros octais      |"
echo "| 4) entrada de numeros hexadecimais|"
echo "====================================="
echo "opcao:"
read OPCAO
case $OPCAO in
  1)Entrada_binario ;;
  2)Entrada_decimal ;;
  3)Entrada_octal ;;
  4)Entrada_hexadecimal ;;
  *)Principal ;;
esac
}

Entrada_binario()
{
clear
echo "============================"
echo "| digite um numero binario |"
echo "============================"
read NUM2
echo ""
clear
echo "================================="
echo "| 1) Converter para decimal     |"
echo "| 2) Converter para hexadecimal |"
echo "| 3) Converter para octal       |"
echo "| *) aperte qualquer tecla para |"
echo "|     voltar ao menu iniciar    |"
echo "================================="
echo "opcao: "
read OPCAO2

case $OPCAO2 in

1)Saida_decimal ;;
2)Saida_hexadecimal ;;
3)Saida_octal ;;
*)Principal ;;
esac
}

Saida_decimal()
{
case $OPCAO2 in
      1) # Conversão de decimal.
      # Base 10 somente 0-9:
      grep -qs "[^0-9]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 10 use de 0-9"
      read -n 1 && continue ; }
 RE=$(bc -l <<< "obase=10 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}


Saida_hexadecimal()
{ 
case $OPCAO2 in
     2) # Conversão de hexadecimal
      grep -qs "[^0-9A-F]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 16 use de 0-9 e A-F"
      read -n 1 && continue ; }

 RE=$(bc -l <<< "obase=16 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}


Saida_octal()
{
case $OPCAO2 in
     3) # Conversão de octal
      grep -qs "[^0-7]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 8 use de 0-7"
      read -n 1 && continue ; }

RE=$(bc -l <<< "obase=8 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}

Entrada_decimal()
{
clear
echo "============================"
echo "| digite um numero decimal |"
echo "============================"
read NUM1
echo ""
clear
echo "================================="
echo "| 1) Converter para binario     |"
echo "| 2) Converter para hexadecimal |"
echo "| 3) Converter para octal       |"
echo "| *) aperte qualquer tecla para |" 
echo "|     voltar ao menu iniciar    |"
echo "================================="
echo "opcao: "
read OPCAO3

case $OPCAO3 in

1)Saida_binario ;;
2)Saida_hexadecimale ;;
3)Saida_octale ;;
*)Principal ;;
esac
}

Saida_binario()
{
case $OPCAO3 in
     1) # Conversão de binário
      grep -qs "[^0-1]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 2 use de 0-1"
      read -n 1 && continue ; }
RE=$(bc -l <<< "obase=2 ; ibase=10 ; $NUM1");
echo "o seu numero binario é: $RE";;
esac
}

Saida_hexadecimale()
{ 
case $OPCAO3 in
     2) # Conversão de hexadecimal
      grep -qs "[^0-9A-F]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 16 use de 0-9 e A-F"
      read -n 1 && continue ; }
 RE=$(bc -l <<< "obase=16 ; ibase=10 ; $NUM1");
echo "O seu numero na  base hexadecimal é: $RE";;
esac
}

Saida_octale()
{
case $OPCAO3 in
     3)# Conversão de octal
      grep -qs "[^0-7]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 8 use de 0-7"
      read -n 1 && continue ; }

RE=$(bc -l <<< "obase=8 ; ibase=10 ; $NUM1");
echo "O seu numero na  base octal é: $RE";;
esac
}

Entrada_octal()
{
clear
echo "=========================="
echo "| digite um numero octal |"
echo "=========================="
read NUM8
echo ""
clear
echo "================================="
echo "| 1) Converter para binario     |"
echo "| 2) Converter para hexadecimal |"
echo "| 3) Converter para decimal     |"
echo "| *) Aperte qualquer tecla para |"
echo "|     votal ao menu iniciar     |"
echo "================================="
echo "opcao: "
read OPCAO4

case $OPCAO4 in

1)Saida_binarioo ;;
2)Saida_hexadecimalo ;;
3)Saida_decimalo ;;
*)Principal ;;
esac
}

Saida_binarioo()
{
case $OPCAO4 in
     1) # Conversão de binário
      grep -qs "[^0-1]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 2 use de 0-1"
      read -n 1 && continue ; }
RE=$(bc -l <<< "obase=2 ; ibase=10 ; $NUM1");
echo "o seu numero binario é: $RE";;
esac
}

Saida_hexadecimal()
{ 
case $OPCAO4 in
     2) # Conversão de hexadecimal
      grep -qs "[^0-9A-F]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 16 use de 0-9 e A-F"
      read -n 1 && continue ; }
RE=$(bc -l <<< "obase=16 ; ibase=10 ; $NUM1");
echo "O seu numero na  base hexadecimal é: $RE";;
esac
}

Saida_decimalo()
{
case $OPCAO2 in
      1) # Conversão de decimal.
      # Base 10 somente 0-9:
      grep -qs "[^0-9]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 10 use de 0-9"
      read -n 1 && continue ; }
 RE=$(bc -l <<< "obase=10 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}

Entrada_hexadecimal()
{
clear
echo "================================"
echo "| digite um numero hexadecimal |"
echo "================================" 
read NUM16
echo ""
clear
echo "================================="
echo "| 1) Converter para binario     |"
echo "| 2) Converter para decimal     |"
echo "| 3) Converter para octal       |"
echo "| *) Aperte qualquer tecla para |"
echo "|     voltar ao menu iniciar    |"
echo "================================="
echo "opcao: "
read OPCAO3

case $OPCAO3 in

1)Saida_binariou ;;
2)Saida_decimalu ;;
3)Saida_octalu ;;
*)Principal ;;
esac
}

Saida_binariou()
{
case $OPCAO3 in
     1) # Conversão de binário
      grep -qs "[^0-1]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 2 use de 0-1"
      read -n 1 && continue ; }
RE=$(bc -l <<< "obase=2 ; ibase=10 ; $NUM1");
echo "o seu numero binario é: $RE";;
esac
}

Saida_decimalu()
{
case $OPCAO3 in
      1) # Conversão de decimal.
      # Base 10 somente 0-9:
      grep -qs "[^0-9]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 10 use de 0-9"
      read -n 1 && continue ; }
 RE=$(bc -l <<< "obase=10 ; ibase=2 ; $NUM2");
echo "O seu numero na  base decimal é: $RE";;
esac
}

Saida_octalu()
{
case $OPCAO3 in
     3)# Conversão de octal
      grep -qs "[^0-7]" <(echo "$VLR")
      [[ $? == 0 ]] && {
      Echo "-> Na base 8 use de 0-7"
      read -n 1 && continue ; }

RE=$(bc -l <<< "obase=8 ; ibase=10 ; $NUM1");
echo "O seu numero na  base octal é: $RE";;
esac
}

Principal

Scripts recomendados

CloneHD

Troca de imagem da tela de bloqueio de usuário no Linux Mint MATE

Gerenciar usuários do OpenLDAP com Sistema ZIMBRA

Scanner de portas abertas

Instalar Unreal Tourment no Linux


  

Comentários
[1] Comentário enviado por SMarcell em 01/09/2008 - 13:54h

Esse aqui é o meu:

http://www.vivaolinux.com.br/scripts/verFonte.php?codigo=3058&arquivo=base.sh

Um dos primeiros scripts que escrevi!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts