Enviado em 13/11/2013 - 17:10h
Alguem pode me ajudar com isso? eh o seguinte.. preciso que o valor que eu digite seja impresso de acordo com os valores que mencionei no case..
exemplo:
o valor digitado foi: 12adc
o valor impresso: 0001 0010 1010 1101 1100
Obs: sem que eu preciso fazer múltiplos case..
no mais obrigado!
#! /bin/bash
echo "--:: PROJETO INTEGRADOR ::--"
echo "--:: CONVERSAO DE BASE HEXA PARA BIN ::--"
echo ""
echo "Autor: Eduardo Neto"
echo " Jadson Reis"
echo ""
echo "Digite um valor equivalente a Hexadecimal: "
read hexa
v1=$(echo $hexa| cut -c1)
i=0
for i in $v1
do
case $v1 in
0) a=0000 ;;
1) a=0001 ;;
2) a=0010 ;;
3) a=0011 ;;
4) a=0100 ;;
5) a=0101 ;;
6) a=0110 ;;
7) a=0111 ;;
8) a=1000 ;;
9) a=1001 ;;
A|a) a=1010 ;;
B|b) a=1011 ;;
C|c) a=1100 ;;
D|d) a=1101 ;;
E|e) a=1110 ;;
F|f) a=1111 ;;
G|g) a="xx" ;;
H|h) a="xx" ;;
I|i) a="xx" ;;
J|j) a="xx" ;;
L|l) a="xx" ;;
M|m) a="xx" ;;
N|n) a="xx" ;;
O|o) a="xx" ;;
P|p) a="xx" ;;
Q|q) a="xx" ;;
R|r) a="xx" ;;
S|s) a="xx" ;;
T|t) a="xx" ;;
U|u) a="xx" ;;
V|v) a="xx" ;;
X|x) a="xx" ;;
Z|z) a="xx" ;;
W|w) a="xx" ;;
K|k) a="xx" ;;
Y|y) a="xx" ;;
"") a="xx" ;;
*) a="xx";;
esac
done
if [ $a == "xx" ]; then
echo "O valor digitado não corresponde a um valor Hexadecimal"
echo ""
echo ""
else
echo "O valor hexadecimal digitado em Binario eh: $a"
echo ""
echo ""
fi
exemplo:
o valor digitado foi: 12adc
o valor impresso: 0001 0010 1010 1101 1100
Obs: sem que eu preciso fazer múltiplos case..
no mais obrigado!
#! /bin/bash
echo "--:: PROJETO INTEGRADOR ::--"
echo "--:: CONVERSAO DE BASE HEXA PARA BIN ::--"
echo ""
echo "Autor: Eduardo Neto"
echo " Jadson Reis"
echo ""
echo "Digite um valor equivalente a Hexadecimal: "
read hexa
v1=$(echo $hexa| cut -c1)
i=0
for i in $v1
do
case $v1 in
0) a=0000 ;;
1) a=0001 ;;
2) a=0010 ;;
3) a=0011 ;;
4) a=0100 ;;
5) a=0101 ;;
6) a=0110 ;;
7) a=0111 ;;
8) a=1000 ;;
9) a=1001 ;;
A|a) a=1010 ;;
B|b) a=1011 ;;
C|c) a=1100 ;;
D|d) a=1101 ;;
E|e) a=1110 ;;
F|f) a=1111 ;;
G|g) a="xx" ;;
H|h) a="xx" ;;
I|i) a="xx" ;;
J|j) a="xx" ;;
L|l) a="xx" ;;
M|m) a="xx" ;;
N|n) a="xx" ;;
O|o) a="xx" ;;
P|p) a="xx" ;;
Q|q) a="xx" ;;
R|r) a="xx" ;;
S|s) a="xx" ;;
T|t) a="xx" ;;
U|u) a="xx" ;;
V|v) a="xx" ;;
X|x) a="xx" ;;
Z|z) a="xx" ;;
W|w) a="xx" ;;
K|k) a="xx" ;;
Y|y) a="xx" ;;
"") a="xx" ;;
*) a="xx";;
esac
done
if [ $a == "xx" ]; then
echo "O valor digitado não corresponde a um valor Hexadecimal"
echo ""
echo ""
else
echo "O valor hexadecimal digitado em Binario eh: $a"
echo ""
echo ""
fi