1. 程式人生 > >476. 數字的補數

476. 數字的補數

pow com spa class 進制數 clas with pub 32位

給定一個正整數,輸出它的補數。補數是對該數的二進制表示取反。

註意:

  1. 給定的整數保證在32位帶符號整數的範圍內。
  2. 你可以假定二進制數不包含前導零位。

示例 1:

輸入: 5
輸出: 2
解釋: 5的二進制表示為101(沒有前導零位),其補數為010。所以你需要輸出2。

示例 2:

輸入: 1
輸出: 0
解釋: 1的二進制表示為1(沒有前導零位),其補數為0。所以你需要輸出0。


 1 static const auto __ = []()
 2 {
 3     ios::sync_with_stdio(false);
 4     cin.tie(nullptr);
 5     return nullptr;
6 }(); 7 8 class Solution { 9 public: 10 int findComplement(int num) { 11 int sum = 0; 12 int i = 0; 13 while(sum < num) { 14 sum += pow(2,i); 15 i++; 16 } 17 18 return sum - num; 19 } 20 };

476. 數字的補數