广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    用int类型实现类型unsinged int的右移操作

    2018-04-03 21:36:23 次阅读 稿源:互联网
    零七广告

    有很多脚本语言里面没有 都是 没有 unsinged int 的,如 PHP。位运算 一般来说 int 和 unsinged int 没有什么差别,除了右移操作,在int 中是补1 在 unsinged int 中是补0,我想了好久,终于想到了一个比较妙的方法,只是,这个方法,右移的次数至少大于1。一般来说,0右移 没有什么意义。

    (($a >> 1) & 0x7fffffff) >> ($n -1) 这里$n 是右移的次数。 $n >= 1

    比如,实现md5加密,一般来说要用到下面的函数,在PHP中可以这样实现:

    Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]function RotateLeft($a, $n)
    {
    return ($a << $n) | ((($a >> 1) & 0x7fffffff) >> (31 - $n)); 注意运算符的优先级
    }

    对加密解密比较感兴趣的人,应该遇到过和我一样的问题,不知道有没有谁有更好的方法。

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告