題目描述:
給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。
示例 1:
輸入: 5
輸出: 2
解釋: 5 的二進位制表示為 101(沒有前導零位),其補數為 010。所以你需要輸出 2 。
示例 2:
輸入: 1
輸出: 0
解釋: 1 的二進位制表示為 1(沒有前導零位),其補數為 0。所以你需要輸出 0 。
注意:
給定的整數保證在 32 位帶符號整數的範圍內。
你可以假定二進位制數不包含前導零位。
方法1:
主要思路:
(1)直觀的想,就是將原數字從後向前逐漸統計各個位置是1或者是0,然後對應的更新結果數值在對應的位上即可;
class
solution
num>>=1;
//右移一位,便於接著統計
++count;
//統計當前的實際位置
}return res;}}
;
476數字的補數
題目點我 給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。注意 給定的整數保證在32位帶符號整數的範圍內。你可以假定二進位制數不包含前導零位。示例 1 輸入 5 輸出 2 解釋 5的二進位制表示為101 沒有前導零位 其補數為010。所以你需要輸出2。示例 2 輸入 1 輸出 0 解釋...
476 數字的補數
題目 給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。注意 給定的整數保證在32位帶符號整數的範圍內。你可以假定二進位制數不包含前導零位 示例 1 輸入 5輸出 2解釋 5的二進位制表示為101 沒有前導零位 其補數為010。所以你需要輸出2。示例 2 輸入 1輸出 0解釋 1的二進位...
476 數字的補數
給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。注意 給定的整數保證在32位帶符號整數的範圍內。你可以假定二進位制數不包含前導零位。示例 1 輸入 5 輸出 2 解釋 5的二進位制表示為101 沒有前導零位 其補數為010。所以你需要輸出2。示例 2 輸入 1 輸出 0 解釋 1的二進...