如何在Perl中将十进制数字$d = 1024
转换为十六进制的0xFF?
需要将变量d
赋值给另一个变量并打印出来,为了易读性,我希望以十六进制格式呈现。
如何在Perl中将十进制数字$d = 1024
转换为十六进制的0xFF?
需要将变量d
赋值给另一个变量并打印出来,为了易读性,我希望以十六进制格式呈现。
for ($i = 0; $i < @ARGV; $i++) {
printf("%d\t= 0x%x\t= 0b%b\n", $ARGV[$i], $ARGV[$i], $ARGV[$i]);
}
for ($i = 0; $i < @ARGV; $i++) {
$val = hex($ARGV[$i]);
printf("0x%x\t= %d\t= 0b%b\n", $val, $val, $val);
}
for ($i = 0; $i < @ARGV; $i++) {
# The binary numbers you type must start with '0b'
$val = oct($ARGV[$i]);
printf("0b%b\t= %d\t= 0x%x\n", $val, $val, $val);
}
printf("%x",$d);
perl -Mbigint -E 'say 1024->as_hex'
打印出0x400 - Tinmarino%o
代替%X
。但是难道没有更经典的问题吗? - Peter Mortensen