Reverse bits of a given 32 bits unsigned integer.
For example,given input 43261596 (represented in binary as00000010100101000001111010011100),return 964176192 (represented in binary as00111001011110000010100101000000).
Follow up:
If this function is called many times,how would you optimize it?
Related problem:Reverse Integer
Method:
<span style="font-size:18px;">uint32_t reverseBits(uint32_t n) { int num[32]; int i = 0; uint32_t temp = 0; for(; i < 32; i++)//记录到数组 { if((1<<i)&n) { num[i] = 1; } else { num[i] = 0; } } for(i = 0; i<32; i++)//使用位偏移写入到临时数temp中 { if(num[i]) { temp = (1<<(31-i))|temp; } } return n = temp; }</span>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。