shell 10進数から2進数に変換

ファイル名: DecimalToBinary.sh

サンプルコード:
#!/bin/bash

for ((i=32;i>=0;i–)); do
r=$(( 2**$i))
Probablity+=( $r )
done

[[ $# -eq 0 ]] &echo -en “Decimal\t\tBinary\n"
for input_int in $@; do
s=0
test ${#input_int} -gt 11 &printf “%-10s\t" “$input_int"

for n in ${Probablity[@]}; do

if [[ $input_int -lt ${n} ]]; then
[[ $s = 1 ]] && printf “%d" 0
else
printf “%d" 1 ; s=1
input_int=$(( $input_int – ${n} ))
fi
done
echo -e
done

結果輸出:
[root@tecmint ~]# chmod 755 Decimal2Binary.sh
[root@tecmint ~]# ./Decimal2Binary.sh 1121

DecimalBinary
1121 10001100001

Source

Posted by arkgame