Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2325537
  • 博文数量: 473
  • 博客积分: 12252
  • 博客等级: 上将
  • 技术积分: 4307
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-12 10:02
文章分类

全部博文(473)

文章存档

2012年(8)

2011年(63)

2010年(73)

2009年(231)

2008年(98)

分类:

2009-04-02 14:30:00


awk实现的从2进制到10进制,10进制到2进制的转换功能

#!/usr/bin/awk -f

function dec2bin(num)
{
    s="";
    while(num!=0)
    {
        s=num%2s;
        num=(num-num%2)/2;
    }

    s="00000000"s;
    return substr(s,length(s)-7);
}

function bin2dec(num)
{
    mod=1;
    val=0;
    for(i=length(num); i>0; i--)
    {
        val+=substr(num,i,1)*mod;
        mod*=2;
    }
    return val;
}
{
    getline a;
    bin=dec2bin(a);
    dec=bin2dec(bin);
    print bin,dec;
    exit 0;
}

阅读(1314) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~