avatar
reverse bits 的题目# Programming - 葵花宝典
s*n
1
前不久看到有人提到这个问题。
请问这个reverse是把1变成0,0变成1 还是左右reverse?
1->0,0->1 XOR 11111111 就行了。
左右reverse该怎么弄呢?
avatar
X*r
2
你知道数1 的个数那道题怎么做,就知道左右reverse这道题怎么做。
(回有四种写法……)

【在 s*****n 的大作中提到】
: 前不久看到有人提到这个问题。
: 请问这个reverse是把1变成0,0变成1 还是左右reverse?
: 1->0,0->1 XOR 11111111 就行了。
: 左右reverse该怎么弄呢?

avatar
s*n
3
数1的题目很久前在一本interview书上看过,好像是挺多方法的,而且越来越出乎想象
。现在不记得了,去找来看看。
avatar
k*f
4
jhq有

【在 s*****n 的大作中提到】
: 数1的题目很久前在一本interview书上看过,好像是挺多方法的,而且越来越出乎想象
: 。现在不记得了,去找来看看。

avatar
s*u
5
是左右reverse吧,有奇技淫巧的,不是很记得..

【在 s*****n 的大作中提到】
: 前不久看到有人提到这个问题。
: 请问这个reverse是把1变成0,0变成1 还是左右reverse?
: 1->0,0->1 XOR 11111111 就行了。
: 左右reverse该怎么弄呢?

avatar
s*n
6
可能我太笨了,我看了数多少个1的题目之后还是不知道改怎么左右reverse。
谁指教一下?
avatar
X*r
7
这个……
直接方法:一位一位移位
取巧的方法:就地交换
实用的方法:查表,或部分查表和就地交换相结合。
就地交换方法如下,假设是32位无符号整数
x = ((x & 0x55555555) << 1) | ((x & 0xAAAAAAAA) >> 1);
x = ((x & 0x33333333) << 2) | ((x & 0xCCCCCCCC) >> 2);
x = ((x & 0x0F0F0F0F) << 4) | ((x & 0xF0F0F0F0) >> 4);
x = ((x & 0xFF00FF00) << 8) | ((x & 0x00FF00FF) >> 8);
x = ((x & 0xFFFF0000) << 16) | ((x & 0x0000FFFF) >> 16);

【在 s*****n 的大作中提到】
: 可能我太笨了,我看了数多少个1的题目之后还是不知道改怎么左右reverse。
: 谁指教一下?

avatar
s*n
8
多谢多谢!这自己想怎么也想不出来。

【在 X****r 的大作中提到】
: 这个……
: 直接方法:一位一位移位
: 取巧的方法:就地交换
: 实用的方法:查表,或部分查表和就地交换相结合。
: 就地交换方法如下,假设是32位无符号整数
: x = ((x & 0x55555555) << 1) | ((x & 0xAAAAAAAA) >> 1);
: x = ((x & 0x33333333) << 2) | ((x & 0xCCCCCCCC) >> 2);
: x = ((x & 0x0F0F0F0F) << 4) | ((x & 0xF0F0F0F0) >> 4);
: x = ((x & 0xFF00FF00) << 8) | ((x & 0x00FF00FF) >> 8);
: x = ((x & 0xFFFF0000) << 16) | ((x & 0x0000FFFF) >> 16);

avatar
bz
9
现在这么搞的都是孔已己。连micro-controller们都不搞这些了。readability is
ruling.

【在 s*****n 的大作中提到】
: 前不久看到有人提到这个问题。
: 请问这个reverse是把1变成0,0变成1 还是左右reverse?
: 1->0,0->1 XOR 11111111 就行了。
: 左右reverse该怎么弄呢?

avatar
s*u
10
感觉如果真的跑的快很多的话也是有用的,有人明白就好,不是哪里都是readability
第一吧
但是拿来面试的人真是烧了

【在 bz 的大作中提到】
: 现在这么搞的都是孔已己。连micro-controller们都不搞这些了。readability is
: ruling.

avatar
k*k
11
言论自由万岁!

【在 bz 的大作中提到】
: 现在这么搞的都是孔已己。连micro-controller们都不搞这些了。readability is
: ruling.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。