实现10进制转换为2进制

代码(实现10进制转换为2进制)
实现10进制转换为2进制

#!/bin/bash
#
BIcon=
declare -i i j x
i=${i:-254}
mask="128 64 32 16 8 4 2 1"
#
for j in $mask
do
    x=$((i/j))
    [ $x -gt 0  ] &&BIcon=$BIcon"_1_" || BIcon=$BIcon"_0_"
    i=$((i-x*j))
done
echo $BIcon
exit 0

运行结果:
_1__1__1__1__1__1__1__0_

需要读懂上面的代码,需要的知识点有:
1.“i=${i:-254}”(变量展开)它的含义是i如果没有赋值,就给他赋254。反之,如果已经有了值就让它保持原值;
2.for 循环的使用方法是从mask里面一个一个的遍历;
3.shell里面的“+,-,*,/”,都需要这样得到结果:$((x+y))。其它的运算类似;
4.[ $x -gt 0 ]的含义是x是否大于0,大于0就会运行&&后面的BIcon=$BIcon"_1_" ,然后赋值操作返回1,||后面就不会运行。如果x是不大于0,&&后面的BIcon=$BIcon"_1_"就不会运行,直接运行||后面的 BIcon=$BIcon"_0_"
这是一个简单的脚本程序,linux与常用的c++,java还是有很多的不同的。不过,把最基本的语法弄明白了之后,原理都是相通的。
今天国庆节,我们实验室人还是满满的。研究生生涯的最后一年了,希望自己能够找份喜欢的工作,大家都有个美好的未来。

猜你喜欢

转载自blog.csdn.net/forrest02/article/details/78147989