接下来是另一个脚本,功能与上述脚本恰恰相反,即将二进制值转成十进制。

脚本3:BinaryToDecimal.sh

#!/bin/bash 
echo "Enter a number :" 
read Binary 
if [ $Binary -eq 0 ] 
then 
echo "Enter a valid number " 
else 
while [ $Binary -ne 0 ] 
do 
Bnumber=$Binary 
Decimal=0 
power=1 
while [ $Binary -ne 0 ] 
do 
rem=$(expr $Binary % 10 ) 
Decimal=$((Decimal+(rem*power))) 
power=$((power*2)) 
Binary=$(expr $Binary / 10) 
done 
echo  " $Decimal" 
done 
fi

示例输出

[root@tecmint ~]# chmod 755 Binary2Decimal.sh
[root@tecmint ~]# ./Binary2Decimal.sh

Enter a number : 
11 
3

注意:上述功能在终端也能用“bc”命令达成,如下,

[root@tecmint ~]# echo "ibase=2; BINARY" | bc

BINARY是你想转换的二进制数,例如,

[root@tecmint ~]# echo "ibase=2; 11010101" | bc 

213

下载BinaryToDecimal.sh


相关内容