当前位置:首页 > 开发 > 编程语言 > Java > 正文

java-按位反转一个整数-Reverse bits of an unsigned integer.

发表于: 2012-01-21   作者:bylijinnan   来源:转载   浏览次数:
摘要: see http://www.leetcode.com/2011/08/reverse-bits.html public class ReverseBitsOfInteger { /** * like reversing a string. * we swap the bits in (0,N-1),(1,N-2)...... * we do it wit
see http://www.leetcode.com/2011/08/reverse-bits.html

public class ReverseBitsOfInteger {

	/**
	 * like reversing a string.
	 * we swap the bits in (0,N-1),(1,N-2)......
	 * we do it with XOR
	 * 
	 */
	public static void main(String[] args) {
		int y = 0x01010101;
		int z = reverseBits(y);//z=ox80808080
		System.out.printf("%x\n%x", y, z);

	}

	public static int reverseBits(int y) {
		// INT_SIZE=32 in general
		int INT_SIZE = Integer.SIZE;

		for (int i = 0; i < INT_SIZE / 2; i++) {
			int j = INT_SIZE - 1 - i;

			int low = (y >> i) & 1;
			int high = (y >> j) & 1;

			int A = 1 << i;
			int B = 1 << j;

			if ((high ^ low) == 1) {
				y = y ^ (A | B);
			}
		}
		return y;
	}
}

java-按位反转一个整数-Reverse bits of an unsigned integer.

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
题意:给定一个无符号32位整数,将其二进制形式左右反置,再以整型返回。 思路:循环32轮,将n往右
原文链接(被墙了,你懂的~) LungoJS中支持三种页面切换效果slide、cover、fade. 根据一般流程都是
一个按比特位拷贝数据的函数 没有进行特别的优化。其实还可以在拷贝源开始位置和目标开始位置是2的
在32位系统中,存储一位整型(int)数需要4个字节(4B),如果开辟一个空间,把其中的某个位1,就从
帮同学写了一个公选课要交的作业: 题目1、显示一个三位整数的各位数字 输入一个整数,分别显示其百
  位与(x&y):对操作数进行二进制与的操作,如果两个操作数的某一位两个都为1,将对应的结果位设
最近想刷一下LeetCode练习一下数据结构算法之类的,先从水题开始吧 题目是这样的 Write a function
引子   在我之前的一篇文章[ ThoughtWorks代码挑战——FizzBuzzWhizz游戏 通用高速版(C/C++ & C#)
题目:输入一个无符号的一位整数的四则运算表达式,输出其结果。例如输入:1+3*6-2,则输出:17 分
Magento的属性可以用来放在产品列表页给产品进行排序,要用来排序的属性只需要在后台属性管理的地方
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号