conversor de bases no shell
Publicado por gabriel 29/08/2008
[ Hits: 8.012 ]
Meu primeiro conversor de base.
#!/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
Baixando os áudios dos vídeos do youtube - YAD
retira espaços em branco de arquivos
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Instalar Ubuntu com Btrfs + LUKS de forma fácil
Habilitando "hotcorner" no Ubuntu
Zen Kernel no Arch Linux (instalar e remover)
Como instalar e remover o kernel Liquorix
Fazendo o controle de Xbox 360 USB funcionar no One Piece Pirate Warriors 4 (Arch Linux/Steam)
Executar um programa em Rust (2)
Não consigo publicar screenshots no Viva o Linux [RESOLVIDO] (5)









