奇偶位交换
来源:互联网 发布:00截断原理 php 编辑:程序博客网 时间:2024/06/06 17:30
请编写程序交换一个数的二进制的奇数位和偶数位。(使用越少的指令越好)
给定一个int x,请返回交换后的数int。
测试样例:
10
返回:5
解题思路
让目标数&055555555,则保留目标数的偶数位,然后再左移(不能右移,因为最低位为0位,右移,最低位的数会被抹去补零,左移第30位到第31位没有信息丢失),同理目标数&0AAAAAAAA,奇数位保留,然后右移移位。之后把前两步的结果相于。
int odd = x & 0xAAAAAAAA; int even = x & 0x55555555; return (odd << 1)+(even >>>1);
0 0
- 奇偶位交换
- 奇偶位交换
- 奇偶位交换
- 奇偶位交换
- 奇偶位交换
- 奇偶位交换
- 奇偶位交换
- 奇偶位交换
- 5.6-奇偶位互相交换
- 交换二进制奇偶位(算法)
- int数据的奇偶位交换
- 【C语言】用宏实现一个整形奇偶位交换
- HDOJ/HDU 2562 奇偶位互换(交换位置~)
- 【C语言】宏定义交换二进制数的奇偶位
- 程序员面试金典:奇偶位交换、判断直线相交
- 宏实现奇偶位的交换,两个数最大值
- 程序员面试金典——奇偶位交换__(位运算)
- 奇偶行交换
- ButterKnife
- ajax 跨域 CROS
- 斯坦福CS231n - CNN for Visual Recognition(4)-lecture4反向传播
- 21. Merge Two Sorted Lists徒手尝试#2(Done)
- Golang 排序
- 奇偶位交换
- shell中awk 使用
- JMeter学习-004-WEB脚本入门实战
- My97DatePicker
- Codeforces Round #209 (Div. 2) A.Table
- java list<map> 排序
- CENTOS6.8安装配置svn
- String,StringBuffer,StringBuild区别(个人总结笔记)
- 使用文件共享实现IPC