在BC中的位运算?

12
$ bc
BC> ibase=2
BC> 110&101                     // wanna get 100
(standar_in) 8: syntax error

维基百科 上说,操作符为“|、&和^”。它们可能只在某些 BC 类型中起作用,或者我可能误解了一些内容。

3个回答

12

6

尽管bc不支持,但是如果你使用bash,你可以在终端上直接使用算术扩展。

要对44和61进行异或,你可以执行以下操作:

echo $((44^61))

如果您想使用二进制代码,则需要:
echo $((2#110^2#101))

请查看数值常量以更改基础。

请查看位运算符部分,以查看可用的运算符。


1

维基百科的文章非常清楚,这些操作符既不在 POSIX bc 也不在 gnu bc 中。手册页也没有提到它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接