conversor de bases no shell
Publicado por gabriel 29/08/2008
[ Hits: 7.280 ]
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
MGME - Mythic Game Master Emulator
Remover e-mails com MX inexistente e status deferred em servidores Postfix
Verificar o IP válido da sua conexão na internet
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (25)
Impressora Canon Ip 1800 (Drivers) 64 bit (1)
Erro ao converter string para inteiro (6)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba