476. 数字的补数

内容

给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。

注意:

给定的整数保证在32位带符号整数的范围内。
你可以假定二进制数不包含前导零位。
示例 1:

输入: 5
输出: 2
解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。
示例 2:

输入: 1
输出: 0
解释: 1的二进制表示为1(没有前导零位),其补数为0。所以你需要输出0。


思路


代码

/**
 * @param {number} num
 * @return {number}
 */
var findComplement = function (num) {
    num = num.toString(2);
    num = num.split('');
    for (var i = 0; i < num.length; i++) {
        num[i] = Math.abs(Number(num[i]) - 1); // 这里表示取反
    }

    num=num.join('');

    return parseInt(num, 2);
};

回到目录

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。注意:给定的整数保证在32位带符号整数的范围内。你可以...
    SunSeaSky阅读 2,312评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,721评论 0 13
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,028评论 6 13
  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 33,357评论 6 98
  • 雪融尽,絮飞近。 万物复苏逢新春。 雷裂天,银幕散。 宇倾怒泻琉璃弹。 风起乱,硝烟漫。 过桥之日已不远。 努力拼...
    秋水寒晴阅读 1,297评论 0 1

友情链接更多精彩内容