BC 中的位运算?

发布于 2024-09-04 04:58:12 字数 280 浏览 4 评论 0原文

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

Wikipedia 告知操作符为“|、& 和 ^”。可能它们只适用于某些 BC 类型,或者我误读了一些内容。

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

Wikipedia informs that the ops are "|, & and ^". It may be that they work only in certain BC-types or I misread something.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苏大泽ㄣ 2024-09-11 04:58:12

这些运算符在相对于 C 的“缺失”运算符部分中列出,其中以“...在 POSIX bc 中不可用”结尾

Those operators are listed in the section 'Missing' operators relative to C, which ends with "... are not available in POSIX bc"

怼怹恏 2024-09-11 04:58:12

尽管 bc 不会这样做,但如果使用 bash,则可以直接在终端上使用算术扩展。

对于 XOR 44 和 61,您可以执行以下操作:

echo $((44^61))

如果您想使用二进制代码,则:

echo $((2#110^2#101))

请参阅 用于更改基数的数字常量

请参阅按位运算符部分来查看可用的运算符。

Despite bc won't do it, you can use arithmetic expansion directly on the terminal if you use bash.

To XOR 44 and 61, you can do:

echo $((44^61))

If you want to use binary code, then:

echo $((2#110^2#101))

See Numerical Constants for changing the base.

See bitwise operators section to peep at available operators.

孤凫 2024-09-11 04:58:12

维基百科文章非常清楚地表明这些操作不在 POSIX bc 或 gnu bc 中。手册页也没有提及它们。

The wikipedia article is pretty clear that these ops aren't in either POSIX bc or gnu bc. The man page has no mention of them either.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文