每个非负整数 N 都有其二进制表示。例如, 5 可以被表示为二进制"101"11可以用二进制"1011" 表示,依此类推。注意,除N = 0 外,任何二进制表示中都不含前导零。

二进制的反码表示是将每个 1 改为 0 且每个 0 变为 1。例如,二进制数"101" 的二进制反码为"010"

给定十进制数 N,返回其二进制表示的反码所对应的十进制整数。

示例1:
输入:5
输出:2
解释:5 的二进制表示为 “101”,其二进制反码为 “010”,也就是十进制中的 2 。

示例2:
输入:7
输出:0
解释:7 的二进制表示为 “111”,其二进制反码为 “000”,也就是十进制中的 0 。

示例3:
输入:10
输出:5
解释:10 的二进制表示为 “1010”,其二进制反码为 “0101”,也就是十进制中的 5 。

提示:

  1. 0 <= N < 10^9
/*** @param {number} N* @return {number}*/
var bitwiseComplement = function(N) {};

个人解法

var bitwiseComplement = function(N) {//取余法var result = 0,arr = [];if(N === 0){arr = [0];}else{//取余法 4 -> [0,0,1]while(N !== 0){arr.push(N % 2);N = Math.floor(N / 2);}}//各位取反 [0,0,1] -> [1,1,0]arr.forEach((element , index) => {if(element === 1){arr[index] = 0;}else{arr[index] = 1;}});//计算反码的结果arr.forEach((element , index) => {result += Math.pow(2 , index) * element;});return result;
};

LeetCode(1009)——十进制整数的反码(JavaScript)相关推荐

  1. LeetCode 1009. 十进制整数的反码(位运算)

    1. 题目 每个非负整数 N 都有其二进制表示.例如, 5 可以被表示为二进制 "101",11 可以用二进制 "1011" 表示,依此类推.注意,除 N = ...

  2. 力扣1009.十进制整数的反码

    题目描述 每个非负整数 N 都有其二进制表示.例如, 5 可以被表示为二进制 "101",11 可以用二进制 "1011" 表示,依此类推.注意,除 N = 0 ...

  3. 十进制整数(包括负数)和二进制的转换

    原码: 符号位+n位数值位 反码: 将原码的符号位不变,其余位取反 补码: 反码+1=补码 正数的原码.反码.补码都相同 一.十进制整数转换为二进制数 采用除2取余的方法: 1.用2去除十进制整数,得 ...

  4. [Swift]LeetCode1009. 十进制整数的补码 | Complement of Base 10 Integer

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  5. (实验一)十进制整数的原反补移码实现

    文章目录 1. 实验要求 2. 相关知识点 0. 机器数 1. 原码 2. 反码 3. 补码 4. 移码 3. 实现思路 0. 准备 1. 转二进制 2. 实现原码 3. 实现反码 4. 实现补码 5 ...

  6. 十进制整数转化为二进制详解

    要想编写十进制转化成二进制的带码首先要清楚十进制转化成二进制的算法,下面我们从两个方面实现这个转化: 1.按照十进制转化成十进制的常规算法实现: 普通算法实现: 我们举一个简单的例子,比如取整数52 ...

  7. LeetCode (12.整数转罗马数字)JAVA StringBuffer

    LeetCode (12.整数转罗马数字)JAVA StringBuffer 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 1 ...

  8. Java黑皮书课后题第5章:**5.38(十进制转八进制)编写程序,提示用户输入一个十进制整数,然后显示对应的八进制值。(不要是使用Java的Integer类的任何方法)

    **5.38(十进制转八进制)编写程序,提示用户输入一个十进制整数,然后显示对应的八进制值.(不要是使用Java的Integer类的任何方法) 题目 题目概述 破题 代码 运行示例 题目 题目概述 * ...

  9. Java黑皮书课后题第5章:**5.37(十进制转二进制)编写程序,提示用户输入一个十进制整数,然后显示对应的二进制值(不要使用Integer.toBinaryString(int)方法)

    5.37(十进制转二进制)编写程序,提示用户输入一个十进制整数,然后显示对应的二进制值 题目 题目概述 破题 代码 运行示例 题目 题目概述 5.37(十进制转二进制)编写程序,提示用户输入一个十进制 ...

最新文章

  1. 视频+课件| 视觉引导系列课程
  2. @Transactional-同一个类中方法自调,调用方法事物失效
  3. Linux内核驱动之延时---内核超时处理【转】
  4. 湘源控规8.0_湘源控规8.0新版本发布
  5. vs2017c语言单元测试,vs2017单元测试没反应,检测出错误,有关详细信息,请查看“测试输出”窗口...
  6. Linux脚本让我选择文件,linux – 用于选择文件和打印文件大小的Awk脚本
  7. 【线上直播】Xilinx低延时、高质量实时视频服务技术实践
  8. 中石油计算机组成原理a在线考试,计算机组成原理试题A.doc
  9. MC缓存序列化php,PHP serialize()序列化的使用
  10. git规则写法_3条简单的规则将帮助您成为Git大师
  11. java excel 多个sheet_Java Excel导出多个工作表(添加多个sheet)
  12. 3gpp协议_春天工作室lt;3GPP规范翻译系列gt;1:TS37340协议翻译(导读)第一部分...
  13. 【Qt教程】1.2 - Qt5 新建工程
  14. 对数线性模型:逻辑斯谛回归和最大熵模型
  15. linux web部署命令简单记录
  16. 使用stress,压力测试K8S的POD cpu
  17. 天堂2 mysql一闪而过_天堂2革命闪退怎么办_天堂2革命彻底解决游戏闪退方法_手心游戏...
  18. 【风口浪尖】徽剑万言书直指蛮子薛身份 “发家史”
  19. 【游戏逆向】游戏玩家技能冷却分析
  20. 23-高级路由:BGP配置(MPLS-解决路由黑洞)

热门文章

  1. 力扣算法题—076最小覆盖子串
  2. 燃烧我的卡路里 ---- Flutter瘦内存瘦包之图片组件
  3. SCOM管理包模板的介绍及使用
  4. tomcat启动问题
  5. Python内置容器(2)——字典,迭代器,列表解析
  6. 【流媒體】live555—VS2010 下live555编译、使用及测试
  7. (2)把BlackBerry作为插件安装到已有的Eclipse中
  8. 如何查看域控是谁,域控是哪台机器
  9. row_number() over使用方法
  10. java技术栈_七天串起java技术栈-开篇