conversor de bases no shell
Publicado por gabriel 29/08/2008
[ Hits: 7.830 ]
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
Converter vários arquivos PDF com senha para sem senha com o qpdf
Jogo da Velha para 2 jogadores
PkgBuild - um gerenciador de construção de pacotes
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)
Pergunta: Meu teclado não está respondendo direito como e consertar? (2)
Secure boot, artigo interessante, nada técnico. (6)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)









