#!/bin/bash
dec_num=0;
result=0;
function any_to_dec()
{
#num_type 第一个参数 $1
#num_str 第二个参数 $2
num_type=$1
num_str=$2
echo "输入的${num_type}进制数是:${num_str}"
count=${#num_str}
counter=0
while [ $count != 0 ]
do
num_yu=${num_str:$[$count-1]:1}
num_mi=$[ $num_type ** $counter]
dec_num=$[ $dec_num + $num_yu * $num_mi]
count=$[ $count - 1 ]
counter=$[ $counter + 1 ]
done
echo $dec_num
return $dec_num
}
function dec_to_any()
{
#num_type 第一个参数 $1
num_type=$1
dec_num=$2
temp=''
echo "输入的十进制数是:${dec_num}, 要转换成${num_type}进制的数"
while [ $dec_num != 0 ]
do
temp=$[ $dec_num % $num_type ]$temp
dec_num=$[ $dec_num / $num_type ]
done
result=$temp
return $temp
}
echo -e "请输入一个数的进制:\c"
read num_type
echo -e "请输入一个数:\c"
read num_str
any_to_dec $num_type $num_str
#echo $?
echo -e "请输入目标进制:\c"
read num_type
dec_to_any $num_type $dec_num
#echo $?
echo $result