Chinaunix首页 | 论坛 | 博客
  • 博客访问: 277972
  • 博文数量: 46
  • 博客积分: 2021
  • 博客等级: 大尉
  • 技术积分: 406
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-03 13:00
文章分类

全部博文(46)

文章存档

2011年(1)

2010年(9)

2009年(2)

2007年(13)

2006年(21)

我的朋友

分类: LINUX

2006-09-20 10:32:07

十进制和十六进制间的转换
 
  为了在十进制和十六进制之间转换较大的数值,最好是让计算机来完成这项工作。例如,下面的perl语言脚本将一列数字从十进制转换为十六进制:
#!/usr/bin/perl
# Convert list of decimal numbers into hex
for ($i = 0; $i < @ARGV; $i++)
{
    printf ("%d = 0x%x\n",$ARGV[$i], $ARGV[$i]);
}
[zhanghua@localhost data]$ chmod +x d2h
[zhanghua@localhost data]$ ./d2h 100 500 82
100 = 0x64
500 = 0x1f4
82 = 0x52
 
下面的脚本将十六进制转换为十进制:
#!/usr/bin/perl
# Convert list of hex numbers into decimal
for ($i = 0; $i < @ARGV; $i++)
{
    $val = hex($ARGV[$i]);
    printf ("0x%x = %d\n",$val, $val);
}
[zhanghua@localhost data]$ chmod +x h2d
[zhanghua@localhost data]$ ./h2d 64 1f4 52
0x64 = 100
0x1f4 = 500
0x52 = 82
 
阅读(2191) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~