zoukankan      html  css  js  c++  java
  • 476. 求二进制的补数 Number Complement

    Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.

    Note:

    1. The given integer is guaranteed to fit within the range of a 32-bit signed integer.
    2. You could assume no leading zero bit in the integer’s binary representation.

    Example 1:

    Input: 5
    Output: 2
    Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.
    

    Example 2:

    Input: 1
    Output: 0
    Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.


    1. public int FindComplement(int num) {
    2. int number = 0;
    3. string s = "";
    4. while (num > 0)
    5. {
    6. s = ((num % 2) ^ 1).ToString() + s;
    7. num /= 2;
    8. }
    9. double pow = 0;
    10. for (int i = s.Length - 1; i >= 0; i--)
    11. {
    12. number += (Convert.ToInt32(s[i]) - 48) * (int)Math.Pow(2, pow++);
    13. }
    14. return number;
    15. }





  • 相关阅读:
    Java 泛型约束
    Java 单例模式
    Java中的Atomic包使用指南
    基数排序
    归并排序
    插入排序
    选择排序
    交换排序
    Java多线程 LockSupport
    Java并发控制:ReentrantLock Condition使用详解
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/1a4433ae154717102e168b733584ae47.html
Copyright © 2011-2022 走看看