免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4422 | 回复: 4

十进制转二进制 <sed> (已扩展至转八、十六进制) [复制链接]

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2011-12-20 15:04 |显示全部楼层
本帖最后由 yinyuemi 于 2011-12-21 02:46 编辑

  1. #dec2bin

  2. h
  3. bv
  4. :a
  5.    /[^0]$/s//x&/
  6.    /.0*$/s//x&/
  7.    H
  8.    s/.*x//
  9.    y/1234567890/0123456789/
  10.    x
  11.    s/x.*//
  12.    G
  13.    s/\(.*\)\n/\1/
  14.    s/\n0/\n/
  15.    h
  16.    s/.*\n//
  17.    /^1$/! ta
  18. x
  19. :v
  20. s/[0-9]\+/x/g
  21. s/\n//g
  22. :b
  23.    s/^x/1/
  24.    s/1x/2/
  25.    tc
  26.    :e
  27.    s/0x/1/
  28.    :c
  29.      s/02/10/
  30.      s/12/20/
  31.      s/^2/10/
  32.    :te
  33.    /2/tc
  34.    /x/!b
  35. bb;
复制代码

  1. echo 8|sed -f sed
  2. 1000

  3. echo 128|sed -f sed
  4. 10000000
复制代码
请大家斧正~!
p.s. 偶的帐号又回来啦

评分

参与人数 1可用积分 +10 收起 理由
cjaizss + 10 很给力!

查看全部评分

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2011-12-20 15:17 |显示全部楼层
呵呵,不错不错.
支持sed原创,加点分吧.
我记得我以前在讨论除法的时候好象实现过一个十进制转二进制.

论坛徽章:
0
发表于 2011-12-20 17:00 |显示全部楼层
学习!

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
发表于 2011-12-20 17:40 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2011-12-21 02:41 |显示全部楼层

RE: 十进制转二进制 &lt;sed&gt; (已扩展至转八、十六进制)

本帖最后由 yinyuemi 于 2011-12-21 02:55 编辑

扩展一下可以转八、十六进制,同样的思路可以设计成其它进制,不见得高效,算是提供一个思路吧。{:2_168:}

  1. # dec2oct

  2. h
  3. bv
  4. :a
  5.    /[^0]$/s//x&/
  6.    /.0*$/s//x&/
  7.    H
  8.    s/.*x//
  9.    y/1234567890/0123456789/
  10.    x
  11.    s/x.*//
  12.    G
  13.    s/\(.*\)\n/\1/
  14.    s/\n0/\n/
  15.    h
  16.    s/.*\n//
  17.    /^1$/! ta
  18. x
  19. :v
  20. s/[0-9]\+/x/g
  21. s/\n//g
  22. :b
  23.    s/^x/1/
  24.    s/0x/1/
  25.    tc;
  26.    :e
  27.    s/1x/2/
  28.    tc
  29.    :f
  30.    s/2x/3/
  31.    tc
  32.    :g
  33.    s/3x/4/
  34.    tc
  35.    :h
  36.    s/4x/5/
  37.    tc
  38.    :i
  39.    s/5x/6/
  40.    tc
  41.    :j
  42.    s/6x/7/
  43.    tc
  44.    :k
  45.    s/7x/8/
  46.    :c
  47.      s/08/10/
  48.          s/18/20/
  49.          s/28/30/
  50.          s/38/40/
  51.          s/48/50/
  52.          s/58/60/
  53.          s/68/70/         
  54.          s/78/80/
  55.          s/^8/10/
  56.    tc
  57.    /7x/tk
  58.    /6x/tj
  59.    /5x/ti
  60.    /4x/th
  61.    /3x/tg         
  62.    /2x/tf
  63.    /1x/te
  64.    /x/!b
  65. bb;
复制代码

  1. #dec2hex

  2. h
  3. bv
  4. :a
  5.    /[^0]$/s//x&/
  6.    /.0*$/s//x&/
  7.    H
  8.    s/.*x//
  9.    y/1234567890/0123456789/
  10.    x
  11.    s/x.*//
  12.    G
  13.    s/\(.*\)\n/\1/
  14.    s/\n0/\n/
  15.    h
  16.    s/.*\n//
  17.    /^1$/! ta
  18. x
  19. :v
  20. s/[0-9]\+/x/g
  21. s/\n//g
  22. :b
  23.    s/^x/1/
  24.    s/0x/1/
  25.    tc;
  26.    :e
  27.    s/1x/2/
  28.    tc
  29.    :f
  30.    s/2x/3/
  31.    tc
  32.    :g
  33.    s/3x/4/
  34.    tc
  35.    :h
  36.    s/4x/5/
  37.    tc
  38.    :i
  39.    s/5x/6/
  40.    tc
  41.    :j
  42.    s/6x/7/
  43.    tc
  44.    :k
  45.    s/7x/8/
  46.    tc
  47.    :l
  48.    s/8x/9/
  49.    tc
  50.    :m
  51.    s/9x/a/
  52.    tc
  53.    :n
  54.    s/ax/b/
  55.    tc
  56.    :o
  57.    s/bx/c/
  58.    tc
  59.    :p
  60.    s/cx/d/
  61.    tc
  62.    :q
  63.    s/dx/e/
  64.    tc
  65.    :r
  66.    s/ex/f/
  67.    tc
  68.    :s
  69.    s/fx/g/
  70.    :c
  71.      s/0g/10/
  72.          s/1g/20/
  73.          s/2g/30/
  74.          s/3g/40/
  75.          s/4g/50/
  76.          s/5g/60/
  77.          s/6g/70/         
  78.          s/7g/80/
  79.          s/8g/90/
  80.          s/9g/a0/
  81.          s/ag/b0/
  82.          s/bg/c0/
  83.          s/cg/d0/
  84.          s/dg/e0/
  85.          s/eg/f0/
  86.          s/fg/g0/
  87.          s/^g/10/
  88.    tc
  89.    /fx/ts
  90.    /ex/tr
  91.    /dx/tq
  92.    /cx/tp
  93.    /bx/to
  94.    /ax/tn
  95.    /9x/tm
  96.    /8x/tl
  97.    /7x/tk
  98.    /6x/tj
  99.    /5x/ti
  100.    /4x/th
  101.    /3x/tg         
  102.    /2x/tf
  103.    /1x/te
  104.    /x/!{
  105.       s/^/0x/
  106.           b
  107.    }
  108. bb;
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP