字节按位逆序
32位的number,把它按位逆序 : 1101001 ==> 1001011
最直接的想法就是循环32次
【字节按位逆序】
还有可以优化的地方
// 交换每两位
v = ((v >> 1) & 0x55555555) | ((v & 0x55555555) << 1);
// 交换每四位中的前两位和后两位
v = ((v >> 2) & 0x33333333) | ((v & 0x33333333) << 2);
// 交换每八位中的前四位和后四位
v = ((v >> 4) & 0x0F0F0F0F) | ((v & 0x0F0F0F0F) << 4);
// 交换相邻的两个字节
v = ((v >> 8) & 0x00FF00FF) | ((v & 0x00FF00FF) << 8);
// 交换前后两个双字节
v = ( v >> 16) | ( v<< 16);
推荐阅读
- java|java IO流小结
- java|新年快乐呀 , 给大家送上字节 Java 架构师面试汇总 + 架构师简历模板
- 大数据|字节跳动火山引擎加入 Linux 云原生计算基金会(CNCF) | 新闻
- 软件测试|今天公司新来个字节25k出来的,让我见识到了真正的基础天花板
- 字节前端面试经验(已拿到offer)
- 【第四期】字节跳动一面 golang
- 2022年了春招要来了,字节跳动HR(给大家说点面试字节的干货!)
- 2022年 | 字节大佬推荐,超详细的Android(安卓)开发入门教程+Android Studio安装教程 !
- 招聘|字节跳动边缘计算团队等你来!
- Android面试必备,Android性能优化实战解析(含腾讯、字节、阿里、百度、京东、网易等一线大厂)