我正在尝试在Perl中运行bc
unix命令,但现在看起来真的很难。我正在使用bc
,因为我使用的数字超过了64位。这是一个代码段。
$temp_addr = "A5A5A5A5A5A5A5A5";
$temp_data = "82100000";
my $bc_addr = `echo \"ibase=16;obase=16;($temp_addr/8)\" | bc`;
my $bc_data = `echo \"ibase=16;obase=16;($temp_data*200)\" | bc`;
die "$bc_data, $bc_addr";
运行时代码的输出类似于......
02 08 20 08 03 09 14 ,
02 00 14 05 04 06 12 13 04 04 15 18 07 11 15 02 00
现在我期待十六进制的o / p和那个有效的o / p。这个飞过我的脑袋。当我在shell中直接运行bc时,事情就好了。
答案 0 :(得分:2)
在obase=16
之前设置ibase=16
,它将作为魅力。否则你将obase设置为0x16,这不是你想要的。