`
paddy.w
  • 浏览: 497417 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java实现循环移位

    博客分类:
  • Java
阅读更多
        做MD5算法时遇到了循环移位,在网上找了写资料,发现写的有漏洞。在此更正总结一下。

        0xD6485F0F要循环左移7位,正确答案:0x242F87EB。代码如下:
public class Test {

	public static void main(String[] args) {
		int a=0xD6485F0F;//转为2进制是32位
		//循环左移7位
		int temp=a<<7|a>>>(32-7);//这里注意右移用的是无符号右移
		System.out.println(Integer.toHexString(temp));//正确答案是0x242F87EB
	}
}


        这里的公式是:对于一个二进制有n位的数字循环左移(循环右移)m位,可以将此数字左移(无符号右移)m位的结果与此数字无符号右移(左移)n-m位的结果进行或操作
        网上答案的右移是有符号右移(>>),这里通过实验证明,正确应为无符号右移(>>>)。
分享到:
评论

相关推荐

    循环移位密码

    java实现循环移位密码 将明文中字字母数字用R位后的字母数字进行替换

    java实现桥牌赛制

    Java Swing实现的桥牌赛制,循环赛,淘汰赛,米切尔移位赛

    java基础案例与开发详解案例源码全

    5.3.2 Java抽象思想的实现122 5.4 封装124 5.4.1 对象封装的概念理解124 5.4.2 类的理解125 5.4.3 Java类模板创建125 5.4.4 Java中对象的创建和使用127 5.5 属性130 5.5.1 属性的定义130 5.5.2 变量131 5.6 方法132 ...

    java-algorithms-implementation:用Java实现的算法和数据结构

    算法和数据结构是用Java实现的。 这是我在学术和职业生涯中实现的算法和数据结构的集合。 该代码未经过优化,但编写正确且可读。 测试算法和数据结构,除非另有说明,否则认为是正确的。 由Justin Wetherell创建 ...

    数据处理方法-算术编码(CRC-Java编码实现)

    CRC 的英文全称为 Cyclic Redundancy Check(Code),中文名称为循环冗余校验(码)。它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制。 以下步骤将描述 6 ...

    java范例开发大全源代码

     实例13 Java中的进制与移位运算符 22  第3章 条件控制语句(教学视频:75分钟) 26  3.1 if控制语句 26  实例14 判断输入的年份是否为闰年 26  实例15 抽奖活动 27  3.2 for语句 28  实例16 ...

    java范例开发大全

    实例13 Java中的进制与移位运算符 22 第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列...

    Java范例开发大全 (源程序)

     实例13 Java中的进制与移位运算符 22  第3章 条件控制语句(教学视频:75分钟) 26  3.1 if控制语句 26  实例14 判断输入的年份是否为闰年 26  实例15 抽奖活动 27  3.2 for语句 28  实例16 小九九...

    Java范例开发大全(全书源程序)

    实例13 Java中的进制与移位运算符 22 第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17...

    myth-caesar-cipher:只是使用JFX的Java中的Caesar Cipher实现。 另外,它使用循环链接列表作为其移位拨号

    神话凯撒密码只是使用JFX的Java中的Caesar Cipher实现。 另外,它使用循环链接列表作为其移位拨号

    java范例开发大全(pdf&源码)

    实例13 Java中的进制与移位运算符 22 第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列...

    整理后java开发全套达内学习笔记(含练习)

    implements (关键字) 实现 ['implimәnt] import (关键字) 引入(进口,输入) Info n.信息 (information [,infә'meiʃәn] ) Inheritance [java] 继承 [in'heritәns] (遗传,遗产) initialize 预置 初始化 [i'ni...

    瑞士移位编排软件(最好比赛用软件)

    每轮比赛的积分输入后点计算,以后都可以随时输入比赛分,从而方便编排。

    javaSE代码实例

    4.5.4 用for实现其他循环 55 4.6 break中断语句 56 4.7 continue继续语句 57 4.8 小结 58 第5章 数组——以不变应万变的哲学 59 5.1 数组的声明及创建 59 5.1.1 声明数组引用 59 5.1.2 创建数组对象...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

     Ivor Horton是撰著Java、C和C++编程语言图书的杰出作家之一。大家一致认为,他的著作独具风格,无论是编程新手,还是经验丰富的编程人员,都很容易理解其内容。在个人实践中,Ivor Horton也是一名系统顾问。他从事...

    微软JavaScript手册

    学习JAVA的好帮手,希望有所帮助。欢迎使用 JScript 语言参考 这些方便实用的信息将帮助您了解 JScript 的各个部分。 在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要...

    华为编程开发规范与案例

    1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和...

Global site tag (gtag.js) - Google Analytics