代码(实现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还是有很多的不同的。不过,把最基本的语法弄明白了之后,原理都是相通的。
今天国庆节,我们实验室人还是满满的。研究生生涯的最后一年了,希望自己能够找份喜欢的工作,大家都有个美好的未来。