Skip to content

Commit ca5a676

Browse files
Create Decimal-Binary.sh
1 parent 167c3b3 commit ca5a676

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

Decimal-Binary.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
main() {
2+
if [ $# -ne 1 ]; then
3+
echo "You must provide only 1 number."
4+
exit 1
5+
fi
6+
re='^[0-9]+$'
7+
if ! [[ $1 =~ $re ]]; then
8+
echo "$1 is not a positive integer."
9+
exit 1
10+
fi
11+
echo "Conversion of a decimal number $1 to its binary representation."
12+
number=$1
13+
reminder=1
14+
binary_representation=" "
15+
while [ "$number" -gt 0 ]
16+
do
17+
reminder=$(( number % 2))
18+
binary_representation="$binary_representation$reminder"
19+
number=$(( number / 2))
20+
done
21+
i=${#binary_representation}
22+
result=" "
23+
while [ "$i" -gt 0 ]
24+
do
25+
rev=$(echo "$binary_representation" | awk '{ printf substr( $0, "$i",1 ) }')
26+
result="$result$rev"
27+
i=$(( i - 1 ))
28+
done
29+
echo "Binary representation: $result"
30+
}
31+
main "$@"

0 commit comments

Comments
 (0)