我使用了“DC”命令从十六进制转换为十进制如何防止DC,可以打破输出
dc -e "16i$1p"
的问题是,它打破大数输出
795717178255658627448611597034913344160729841275756347904742363029055\
1952200534008528895
如何防止此行为?有没有一个选项或参数传递来禁用此?
我使用了“DC”命令从十六进制转换为十进制如何防止DC,可以打破输出
dc -e "16i$1p"
的问题是,它打破大数输出
795717178255658627448611597034913344160729841275756347904742363029055\
1952200534008528895
如何防止此行为?有没有一个选项或参数传递来禁用此?
BC似乎做同样的事情。在70个字符限制,这一规范列出来:
http://pubs.opengroup.org/onlinepubs/000095399/utilities/bc.html
关闭我的头顶,只是后处理:
echo "ibase=16; FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | bc | perl -pe's/\\\n//'
的问题是古老而冷淡的,但我认为应该注意在GNU dc
和bc
的更新版本上,可以通过环境变量
n=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
n+=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
DC_LINE_LENGTH=0 dc -e "16i${n}p"
BC_LINE_LENGTH=0 bc <<<"ibase=16; $n"
加''| tr -d'\\\\\ n'' – Cyrus