BC 中的位运算?
$ 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这些运算符在相对于 C 的“缺失”运算符部分中列出,其中以“...在 POSIX bc 中不可用”结尾
Those operators are listed in the section 'Missing' operators relative to C, which ends with "... are not available in POSIX bc"
尽管 bc 不会这样做,但如果使用 bash,则可以直接在终端上使用算术扩展。
对于 XOR 44 和 61,您可以执行以下操作:
如果您想使用二进制代码,则:
请参阅 用于更改基数的数字常量。
请参阅按位运算符部分来查看可用的运算符。
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:
If you want to use binary code, then:
See Numerical Constants for changing the base.
See bitwise operators section to peep at available operators.
维基百科文章非常清楚地表明这些操作不在 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.