数制转换

数的不同进制的转换是计算机中的基本问题。

搭建perl环境

首先搭建perl编程环境。

由于服务器没有接入外网,且依赖很久没有更新,于是通过官网提供的二进制安装包进行perl的安装。

 tar zxvf ActivePerl-5.22.1.2201-x86_64-linux-glibc-2.15-299574.tar.gz

数制转换

通过强制类型转换的,让计算机自动进行10进制数与16进制数之间的转换

#!/usr/bin/perl 
#Convert list of decimal numbers into hex

   for( $i = 0;$i < @ARGV; $i++ ) {

	printf("%d\t=0x%x\n",$ARGV[$i],$ARGV[$i]);
}

验证结果如下:

svd@linux104:~$ ./d2h 100 200 300
100	=0x64
200	=0xc8
300	=0x12c

同理使得计算机实现16进制与10进制之间的转换:

#!/usr/bin/perl
#Converts from hex to decimal
for($i=0;$i < @ARGV;$i++)
{
	$val = hex($ARGV[$i]);#input numbers are automatically transformed into hexdicimal format then forcibally changed into decimal
#	printf("0x%x\t %d\n",$ARGV[$i],$val);
	printf("0x%x\t %d\n",$val,$val);
}

验证结果如下:

svd@linux104:~$ ./h2d 10 20 30
0x10	 16
0x20	 32
0x30	 48


你可能感兴趣的:(数制转换)