二进制中1的个数(JS实现)

如何在华为OD机试中获得满分?JavaScript实现【查找输入整数二进制中1的个数】一文详解 ✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: JS华为OD机试真题(2022&2023) 输入一个正整数,计算它在二进制下的1的个数。输入一个整数。计算整数二进制中1的个数。 具体的实现步骤如下:其他写法: 5. 测试 阅读详情

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

function NumberOf1(n)
{


}

思路

将数值与1进行与(&)运算,若结果为1则表明该数二进制最低位为1,则计数+1,否则最低位为0;将该数进行无符号右移(>>>),重复上述比较过程,由于JS位操作时是32位存储的,则只需移动31次即可。

代码

function NumberOf1(n)
{
    if (n===0) return 0;
    var count = 0;
    for (let i=0;i<32;i++){
        if ((n>>>i & 1) ===1){  //右移并与1进行&运算
            count++;
        }
    }
    return count;
}
unitree-G1外接 USB 麦克风完整配置指南 首先,将type-c麦克风插入G1机器人的USB口后,记录下USB麦克风的卡号(card)和设备号(device),通常显示为 card 1: Device [USB Audio Device] 阅读详情

相关推荐

深入解析Unity3D中PostLateUpdate突然占用大量时间的原因

在Unity3D的生命周期中,是一个在LateUpdate之后被调用的方法。它通常用于处理一些需要在所有更新(包括物理更新和动画更新)之后进行的逻辑。由于它在游戏循环的后期阶段被调用,因此它通常用于处理与渲染直接相关的任务,如相机调整、UI更新等。突然占用大量时间的问题可能由多种原因引起,包括复杂的逻辑处理、频繁的资源加载、不恰当的渲染优化、插件或第三方库的副作用以及内存泄漏或垃圾回收等。为了解决这个问题,开发者需要仔细审查和优化中的代码,同时利用Unity提供的工具来监控和分析游戏性能。

Yori_22的博客 979

JS求二进制中1的个数

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。 示例 1: 输入:n = 11 (控制台输入 00000000000000000000000000001011) 输出:3 解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。 示例 2: 输入:n = 128 (控制台输入 00000000000000000000000010000000) 输出:1 解释:输入的

fighting ~的博客 1166

【eNSP 华为模拟器】小型校园网模拟环境的设计与配置(附eNSP源文件)

【eNSP 华为模拟器】小型校园网模拟环境的设计与配置 一、实验概述 二、交换机的配置 2.1 二层交换机的配置 2.2 三层交换机的配置 三、路由器的配置 四、实验结果 五、实验总结 一、实验概述 按照以下的拓扑连接,自行设计VLAN和IP地址等网络参数,实现PC1到PC2的IP通信。其中,R1,R2为路由器;LSW1,LSW4为3层交换机;LSW2,LSW3 ,LSW6, LSW7为2层交换机;CLIENT1-CLIENT12为PC机。 拓扑图 课程设计要求:(1)IP地址自行规划设计,应该清晰地

qq_43757282的博客 4万+

[JS 练习] 02: 二进制中1的个数相加

问题描述: 编写一个函数,要求接收一个正整数,返回该数字的二进制表示中等于1的位数 示例: 输入0,返回0; 输入4, 返回1; 输入7, 返回3; 输入9, 返回2; 答案: countBits = n => n.toString(2).split('0').join('').length; 用到的知识点: (1): 十进制与二进制的转换 number.toString( 2 )...

Jingwen_molo的博客 290

[OrCad电路板设计系统].Orcad.Pspice.9.2下载安装

Orcad.Pspice.9.2详细下载安装图文步骤1 安装前准备工作1.1 下载安装包1.2 解压2 安装时步骤2.1 安装文件2.2 破解文件3 安装完成 1 安装前准备工作 1.1 下载安装包 打开百度网盘APP 链接:https://pan.baidu.com/s/1cMFxHUvuh5iEhFVT-lvciQ 提取码:7m65 1.2 解压 解压下载好的安装包 2 安装时步骤 2.1 安装文件 1.点击Setup安装文件,出现警告对话框,告诉你应该关闭所有病毒防火墙,点击确定 2.进入安装界面,

weixin_48924581的博客 1万+

国密套件ECC-SM2-SM4-CBC-SM3和ECDHE-SM2-WITH-SM4-SM3

双方交换各自的公钥,最后A计算点(x1,y1) = d1Q2,B计算点(x2,y2) = d2Q1,由于椭圆曲线上是可以满足乘法交换和结合律,所以 d1Q2 = d1d2G = d2d1G = d2Q1 ,因此双方的 x 坐标是一样的,所以它是共享密钥,也就是会话密钥。4、客户端和服务端分别使用工作密钥,计算主密钥,客户端随机数,服务端随机数,字符串常量"key expansion",经PRF计算生成工作密钥。工作密钥包括加密密钥和校验密钥,具体密钥长度由选择的密码算法决定。客户端支持的压缩算法列表。

Java学习笔记 3783

JS中遇到的二进制位运算问题

JS中遇到的二进制位运算问题 知识点: JS中的负值是通过补码来进行保存的,补码的计算流程就是: 确定绝对值的二进制表示(如,对于-18,先确定18 的二进制表示); 找到数值的一补数(或反码),换句话说,就是每个0 都变成1,每个1 都变成0; 给结果加1。 而补码转换回十进制的方法就是: 补码减1 按位取反 位运算 遇到过这样一个语句,不是很理解原理: i = i | 0; 后来在网上找到了资料解释很清晰:二进制位运算符 即位运算符只对整数起作用,如果一个运算子不是整数,会自动转为整数后再执行

weixin_40794404的博客 1928

Unity类银河战士恶魔城学习总结(P103之前 Enemy相关 , 骷髅战士,状态机,敌人状态,)

udemy的Alex银河战士恶魔城,记录我自己的学习,代码会逐渐每一p更新,仅供参考学习。

suzh1qian的博客 1632

JS二进制中1的个数

请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1: 输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。 示例 2: 输入:00000000000000000000000010000000 输出:1 解释:输入的二进制串 0000000000.

gxgalaxy 795

Plecs电力电子仿真专业教程-第一季 第一节 Plecs简介

Plces 电力电子仿真专业教程系列依托专业的电力电子仿真软件Plecs对各种电力电子常用的拓扑及实际设计的方案进行系统及仿真与软件代码仿真实践。通过对各种电路仿真原理的讲解及专业C语言代码程序的编写,提升学员的系统设计能力,软件编程能力与理论分析能力。

3644

华为MetaERP月结加速方案:并行关账技术深度解析

【摘要】华为MetaERP并行关账技术通过创新架构设计,将传统串行月结流程(8-12小时)优化为并行执行(2-4小时)。关键技术包括:1)基于DAG引擎的任务依赖分析,实现模块/子任务三级并行;2)Saga模式分布式事务保障数据一致性;3)动态资源分配算法提升CPU利用率至60-80%。实施效果显示月结时间缩短70%,成功率提升至99.8%,错误恢复时间减少75%。该方案为大型企业ERP系统提供了高效的月结加速方案,未来还将结合AI调度与混合云扩展持续优化。

金牌架构师 1441

基于比较的三种稳定排序算法

本文主要介绍七大常见基于比较的排序算法基本原理和实现 ,以及排序算法的性能分析。 排序的稳定性 例:10. 15. 5. 6(a).7 . 6(b) 排序后:5 .6(a). 6(b). 7. 10. 15 两个相等的数据,如果经过排序后,排序算法能保证其相对位置不发生变化,则我们称该算法是具备稳定性的排序算法。 1.插入排序 基本原理: 每次选择无序区间的第一个元素,在有序区间内选...

wave_xiong的博客 9493

告别繁琐!VS Code 下OpenClaw零配置上手秘籍

本文介绍了在VSCode环境下零配置上手OpenClaw开发工具的最佳实践。首先详细说明了VSCode和OpenClaw插件的安装步骤,包括获取安装包、配置环境变量等准备工作。然后重点讲解了核心配置流程:设置OpenClaw路径、调整工作区参数、添加自定义代码片段等优化开发体验的方法。通过创建测试项目验证配置有效性,并针对常见的路径错误、运行报错等问题提供了排查方案。本文旨在帮助开发者快速搭建高效的OpenClaw开发环境,充分发挥VSCode与OpenClaw的组合优势,提升开发效率。无论是新手还是资深开

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 528

LeetCode——二进制中1的个数(JS实现)

题目描述 解题思路 将输入的二进制串转换为二进制字符串 使用for循环,遍历其中1的个数 返回1的个数。 实现代码 var hammingWeight = function(n) { let str = n.toString(2) let flag = 0; for (let v of str) { if (v === '1') { flag += 1; } } console.log(flag);

Always-Learning 233

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

剑指offer:js实现二进制中1的个数

题目:给出一个整数,求出这个数转换成二进制中出现1的个数 思路:n&(n-1) 可以消掉末尾的一个1,循环直到0为止 常规解法不应该使用n来作为右移,负数右移0x80000000变成0xC000000 C = 1100 8 = 1000 function f(n){ let i = 0; while(n!=0){ n = n&(n-1) ...

李常常查德的博客 313

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【剑指offer】二进制中1的个数(JS实现)

题目描述: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 方法一: 把一个整数减去1,再和原来的整数做相与运算,会把该整数二进制的最右边的1变成0,一个整数中有多少个1,就可以进行多少次上述的相与运算 function NumberOf1(n) { // write code here //把一个整数减去1,再和原来的整数做相与运算,会把该整数二进制的最右边的1...

连通块的应用 272

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【剑指Offer刷题:JavaScript实现】二进制中1的个数

题目考察 二进制中1的个数 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示 相关知识点 参考链接:(MDN) JavaScript位运算符 位运算符将它的操作数视为32位元的二进制串(0和1组成)而非十进制八进制或十六进制数。例如:十进制数字9用二进制表示为1001,位运算符就是在这个二进制表示上执行运算,但是返回结果是标准的JavaScript数值。 位运算符 代...

weixin_43522685的博客 217

十进制转二进制

题目: 解析: 题目的意思就是,十进制转二进制, 最后输出二进制中1 的个数 代码说明 方法一: 使用js的库函数, parseInt(str).toString(2) 将数字转为二进制的字符串 最后使用正则匹配,求出1的个数 方法二: 递归,具体看代码 代码产出: const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output:

qq_36579455的博客 268

剑指offer 66道:二进制中1的个数

剑指offer 66道-python+JavaScript二进制中1的个数思路github题目代码(python)github题目代码(JavaScript) 二进制中1的个数 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路 分别用python和javascript实现,思路在代码注释中呈现 github python代码链接: https://github.co...

LKY111的专栏 294

用javascript实现:对一个字节(8Bit)的无符号整形的变量,求其二进制中表示‘1’的个数

对一个字节(8Bit)的无符号整形的变量,求其二进制中表示‘1’的个数 //对一个字节(8Bit)的无符号整形的变量,求其二进制中表示‘1’的个数 let i=255;//要测试的数字 let count=0;//统计表示‘1’的数字 //核心部分:数值循环,它的最低位与1比较判断是否为‘1’,每次循环右移一位 for(;i!==0;i=i>>1){ if(i & 1){ ++count; } } console.log(count); ...

bestadc的博客 554

剑指OFFER----15、输出数二进制1的个数(js实现)

如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。 举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位变成0,它后面的两位0变成了1,而前面的1保持不变,因此得到的结果是1011.我们发现减1的结果是把最右边的一...

qq_40816360的博客 210

(leetcode)剑指 Offer 15. 二进制中1的个数2021/6/23

文章目录剑指 Offer 15. 二进制中1的个数 javascript 剑指 Offer 15. 二进制中1的个数 javascript 题目: 请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011 中,共有

FemaleHacker的博客 159

JS 二进制计算,如何得到一个负数的二进制表示

题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示 收获: 1.由负数的补码求他的绝对值补码:负二进制数的绝对值,只要各位(包括符号位)取反,再加1,就得到其绝对值。 2.负数正码取反(不包括符号位)+1即得到补码表示 3.JS中求二进制,(number).toString(2),负数和正数表示除了符号外相同。如(-123).toString(2) ==

X_Jagger的博客 7581

二进制中1的个数

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 将负数用补码表示的操作:负数的逻辑右移0位得到其补码(如-1的补码为32个1 )   function NumberOf1(n){ if(n&lt;0){ n=n&gt;&gt;&gt;0; } var str=n.toString(2) var count=0; for(va...

zdhui_fly的博客 374

485. 最大连续1的个数(JavaScript)

给定一个二进制数组, 计算其中最大连续1的个数。 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意: 输入的数组只包含 0 和1。 输入数组的长度是正整数,且不超过 10,000。 思路: 时间按复杂度:O(n) 设置一个计数变量 count,来计数连续出现的 1。 从头到尾遍历,若为 1,...

romeo12334的博客 500

剑指 Offer 15. 二进制中1的个数

请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1: 输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。 示例 2: 输入:00000000000000000000000010000000 输出:1 解释:输入的二进制...

包磊磊的博客 243
上一篇: js实现二叉查找树的建立、插入、删除、遍历操作
下一篇: 圣杯布局和双飞翼布局
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值