程序员面试金典 - 面试题 05.06. 整数转换(位运算)
生活随笔
收集整理的這篇文章主要介紹了
程序员面试金典 - 面试题 05.06. 整数转换(位运算)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 題目
整數(shù)轉(zhuǎn)換。編寫一個函數(shù),確定需要改變幾個位才能將整數(shù)A轉(zhuǎn)成整數(shù)B。
示例1:輸入:A = 29 (或者0b11101), B = 15(或者0b01111)輸出:2示例2:輸入:A = 1,B = 2輸出:2提示: A,B范圍在[-2147483648, 2147483647]之間2. 解題
class Solution { public:int convertInteger(int A, int B) {int s = A^B;//不相同的位為1int count = 0;for(int i = 0; i < 32; ++i){if((s>>i)&1)//每個位移到最右邊,跟1與,為1說明不同count++;}return count;} };總結(jié)
以上是生活随笔為你收集整理的程序员面试金典 - 面试题 05.06. 整数转换(位运算)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试金典 - 面试题 16.20.
- 下一篇: LeetCode 1374. 生成每种字