gpt4 book ai didi

Perl十进制到二进制转换

转载 作者:行者123 更新时间:2023-12-01 04:32:29 27 4
gpt4 key购买 nike

我需要在 Perl 中将数字从十进制转换为二进制,其中我的约束是二进制数宽度由变量设置:

for (my $i = 0; $i<32; $i++)
{
sprintf("%b",$i) # This will give me a binary number whose width is not fixed
sprintf("%5b",$i) # This will give me binary number of width 5

# Here is what I need:
sprintf (%b"$MY_GENERIC_WIDTH"b, $i)
}

我可能可以在我的打印语句中使用一种变通方法,但是如果我能执行上述操作,代码会更简洁。

最佳答案

您的问题相当于以下内容:

How do I build the string %5b where 5 is variable?



使用串联。
"%".$width."b"

这也可以写成
"%${width}b"

在更复杂的情况下,您可能想要使用以下内容,但这里有点过分了。
join('', "%", $width, "b")

请注意 sprintf接受 *作为要在变量中提供的值的占位符。
sprintf("%*b", $width, $num)

如果您想要前导零而不是前导空格,只需添加 0紧接在 % 之后.

关于Perl十进制到二进制转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25231712/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com