设为首页 加入收藏

TOP

将integer的bit位翻转
2013-02-08 14:31:24 】 浏览:647
Tags:integer bit 翻转

  [cpp]

  #include <iostream>

  typedef unsigned int uint;

  uint switch_digit(uint i, uint j, uint n)

  {

  uint i_bit = ((n 》 i) & 1);

  uint j_bit = ((n 》 j) & 1);

  if (i_bit ^ j_bit) // should be swithed

  {

  n = (1 《 j) ^ (1 《 i) ^ n;

  }

  return n;

  }

  uint reverse_integer(uint n)

  {

  uint length = sizeof(uint) * 8;

  uint low = 0;

  uint high = length - 1;

  while (low < high)

  {

  n = switch_digit(low++, high--, n);

  }

  return n;

  }

  int main()

  {

  uint n = 1;

  n = reverse_integer(n);

  return 0;

  }

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Win32 SDK 打砖块游戏 下一篇C++标准库容器总结

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目