conversor de bases no shell
Publicado por gabriel 29/08/2008
[ Hits: 7.727 ]
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
Minha solução para monitorar múltiplos termômetros no Slackware
Script PAra Instalar o Driver pctel-0.9.6
Script de instalação do Hamachi
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (2)
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)