Comment puis-je convertir un nombre, $d = 1024
, en décimal à 0xFF en hexadécimal en Perl?
La variable d
doit être affectée à une variable différente et être imprimée, donc pour la lisibilité, j'ai exigé qu'elle soit au format hexadécimal.
1024
en décimal n'est pas 0xFF
en hex. Au lieu de cela, c'est 0x400
.
Vous pouvez utiliser sprintf comme:
my $hex = sprintf("0x%X", $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);
}
Vous pouvez utiliser le classique printf ().
printf("%x",$d);