conversor de bases no shell
Publicado por gabriel 29/08/2008
[ Hits: 7.935 ]
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
Script para pegar ip WAN para firewall com uma ou mais links de internet
Instalar e remover o Microsoft Visual Studio Code
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalando o COSMIC DE no Gentoo (systemd)
Centralizar Logo com Transparência via ImageMagick
Removendo entradas de boot UEFI "fantasmas" via terminal
Atualizações de Segurança Automáticas no Debian
Como cortar as partes de um vídeo com passagens de áudio em branco
Midia de instalação LM-21.3 não inicializa [RESOLVIDO] (15)
Reunir material [RESOLVIDO] (4)
Uma pergunta bem simples mas não achei resposta (ainda) [RESOLVIDO] (4)









