conversor de bases no shell
Publicado por gabriel 29/08/2008
[ Hits: 7.925 ]
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
Criação de atalhos no Desktop (Unity)
Usando dialog para adiciona usuários no squid
Atualizador de sistema multipla escolha
zSudo v1.1 - Sudo Gráfico Usando Zenity
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









