Chinaunix首页 | 论坛 | 博客
  • 博客访问: 283695
  • 博文数量: 65
  • 博客积分: 3091
  • 博客等级: 中校
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2005-01-25 09:44
文章存档

2013年(2)

2012年(11)

2011年(12)

2010年(13)

2009年(15)

2008年(12)

分类:

2010-03-02 17:21:18

1. N进制整数到十进制整数之间的转换
  A) 使用 echo $((BASE#number)) 命令转换(BASE为2到64之间的整数)
    $echo $((16#1a))
    26
    $echo $((32#1G))
    33
    $echo $((32#1V))
    63
    $echo $(64#1a))
    74
    $echo $(64#1z))
    99
    $echo $(64#1A))
    100
    $echo $(64#1Z))
    125
    $echo $((071))
    57
    $echo $((0xff))
    255
  B) 使用 bc 命令转换
    $echo "ibase=8;71" | bc
    57
    $echo "ibase=3;21" | bc
    7
2. 十进制整数到N进制整数的转换
  A) 使用 awk 命令转换成八、十六进制整数
    $echo "39" | awk "{printf("%o\n", $0)}'
    47
    $echo "123" | awk '{printf("%x\n", $0)}'
    7b
  B) 使用 bc 命令转换
    $echo "obase=16;123" | bc
    7B
    $echo "obase=32;57" | bc
     01 25
3. N进制到八、十六进制之间的转换
    $echo $((12#19)) | awk '{printf("%x\n", $0)}'
    15
4. 使用 bc 进行两种进制之间的转换
    $echo "ibase=16;1B" | bc
    27
    $echo "ibase=16;obase=A;1B" | bc
    27
    $echo "obase=10;ibase=16;1B" | bc
    27
    $echo "ibase=16;obase=16;1B" | bc
     01 05     /* 注意实际上是以 16#16 = 22 进制输出的 */
    $echo "obase=2;ibase=16;E9.A5"
    11101001.1010001

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