免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1153 | 回复: 0
打印 上一主题 下一主题

大侠们啊,请告知一下nawk 如何实现位运算吧 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-24 21:22 |只看该作者 |倒序浏览
nawk不支持位算吗? 有能人请帮忙回答下这个帖子吧,有积分哦,谢谢!

http://bbs.chinaunix.net/thread-3675665-1-1.html

gawk实现如下,请求nawk应该如何实现
  1. #!/bin/bash

  2. hash_pjw()
  3. {
  4.     echo "$1" | [color=Navy][b]gawk [/b][/color]'BEGIN{}
  5.     function ord(c)
  6.     {
  7.         for( i=0;i<256;i++ ) {
  8.             ch = sprintf("%c",i);
  9.             assii[ch] = i;
  10.         }
  11.         return assii[c]
  12.     }

  13.     {
  14.         str=$0
  15.         for(j=1;j<=length(str);j++){
  16.             temp = ord( substr(str,j,1) )
  17.             hash = ( lshift(hash,4) + temp*13 )
  18.             g = and(hash,0xf0000000)
  19.             #print temp,hash,g

  20.             if(g){
  21.                 hash = xor(hash,rshift(g,24))
  22.                 hash = xor(hash,g)
  23.             }
  24.         }
  25.         print hash
  26.     }'
  27. }

  28. hash_pjw $1
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP