Хочу реализовать простейший пример. Есть два числа в двоичной системе 0011 и 0101. Хочу применить к ним операцию "ПОБИТОВОЕ ИЛИ". Результат вывести в виде двоичного числа. Должно получиться 0111, получаю 73.
Почему так?
#!/bin/bash
AA=0011
BB=0101
CC=$(($AA | $BB))
echo "Result: " $CC
Ответ
Двоичные числа в bash задаются как 2#число. Выводить в двоичном виде результат bash не умеет, можно воспользоваться bc
#!/bin/bash
AA=2#0011
BB=2#0101
CC=$(($AA | $BB))
echo -n "Result: "
printf "%04d" `echo "obase=2;$CC" | bc`
Комментариев нет:
Отправить комментарий