【发布时间】:2015-03-30 05:05:19
【问题描述】:
有没有一种方法可以直接在 Bash 中计算十进制数的二进制表示,而无需借助 bc 等外部程序?
示例:
假设我在 base 10 中有 5:我想在 base 2 中获得 101。
为什么不能使用bc:循环性能。
【问题讨论】:
-
@anubhava 您链接的问题没有指定诞生的约束。您链接的答案仅适用于数字 [0, 255] - 该答案附加的评论解释了如何提高此限制,但是它非常尴尬且效率低下,因此应保留此问题以收集适当的答案。
-
如果您编辑问题以阐明为什么不能使用
bc,那么请确保可以打开此问题。 -
我编辑了这个问题。然而,关注的不是“为什么”,而是“如何”。
-
您要转换的输入值范围是多少?您计划多久进行一次转换?您是否需要将二进制转换为十进制?是否使用
awk或 Perl 或 Python 排除了“循环性能”?您是否测量了性能,还是您猜测这是一个问题?您还打算进行哪些其他计算?但主要是——为什么要重新发明轮子?如果使用bc太慢,那么可能shell 是错误的语言?