conversor de bases no shell
Publicado por gabriel 29/08/2008
[ Hits: 7.624 ]
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
Mensagem de volume alto quando o fone de ouvido está conectado
Convertendo rotas Linux para Fortigate
Acertando a hora da estação com o Observatório Nacional
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Criar entrada no GRUB para uma ISO Linux (6)
Open Suse não abre wi-fi automaticamente (1)
Ruído no Microfone (ALC287 - AMD Ryzen 5 7535HS) no Debian 12.9 (15)