You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Perl/Bash实现2-27转5位固定二进制并反转的简洁写法

简洁实现:数字转5位反转二进制(Perl & Bash)

嗨,我来帮你把这个需求简化!针对你要将2到27的数字转换为固定5位二进制、再反转输出的需求,这里有几种非常紧凑的写法:

Perl 单行写法

直接利用Perl的范围运算符、sprintf和reverse,一行就能完成所有逻辑:

print reverse(sprintf("%05b", $_)), "\n" for 2..27;

解释:

  • 2..27:自动遍历2到27的所有整数
  • sprintf("%05b", $_):将每个数字格式化为5位二进制字符串(不足5位时自动补前导0)
  • reverse(...):反转二进制字符串
  • 最后通过print输出结果并换行

如果想让输出更高效,也可以用join把所有结果拼接后一次性打印:

print join "\n", map { reverse sprintf "%05b", $_ } 2..27;

Bash 单行写法

用Bash的内置语法结合bc(二进制转换)和rev(字符串反转)工具,一行搞定:

for i in {2..27}; do printf "%05d\n" "$(bc <<< "obase=2;$i")" | rev; done

解释:

  • {2..27}:生成2到27的数字序列
  • bc <<< "obase=2;$i":调用bc将十进制数转为二进制字符串
  • printf "%05d\n":将二进制字符串补前导0,确保长度为5
  • rev:反转处理后的5位二进制字符串,最终输出

内容的提问来源于stack exchange,提问作者Ramneek Singh Kakkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:45:56