我正在尝试编写一个转换数字库的程序。例如,从基数10转换为基数2时,输入5
将导致输出101
。
这是我的代码:
#!/bin/sh
while read line
do
convert_base()
{
number=$1
inputbase=$2
outputbase=$3
echo "obase=$outputbase;ibase=$inputbase;$number" |bc
}
convert_base $1 $2 $3
echo $line >> $2
done < $1
但这给了我一个语法错误。我该如何解决这个问题?
答案 0 :(得分:1)
这可以简单得多:
while read num inb outb ; do echo "obase=$outb;ibase=$inb;$num" | bc; done
5 10 2
101
17 8 10
15