首页 > 试题广场 > 二进制中1的个数
[编程题]二进制中1的个数
  • 热度指数:662468 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。
头像 牛客官方题解
发表于 2020-05-29 15:05:13
精华题解 描述 这是一篇面对初级coder的题解。知识点:二进制,位运算难度:一星 题解 方法一:暴力方法 分析:题目给一个有符号的整数int,求整数转化成二进制数后,1的个数。 直接根据题目的描述来提出方法一。有2个问题:问题1: 如何从十进制数转化到二进制数?问题2:转化为二进制数后,如果判断有1的个数 展开全文
头像 WEHAWT
发表于 2019-09-12 12:47:09
链接:https://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8?f=discussion来源:牛客网 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 (搬运评论区大佬的解释)如果一个整数不为 展开全文
头像 Fzccc
发表于 2019-12-22 11:16:27
傻子方法来一个:1、先将数字转换成二进制字符串2、用String.split()函数存入一个数组中3、遍历数组跟1比较,同时计数4、输出计数值 public class Solution { public int NumberOf1(int n) { String s=In 展开全文
头像 中工升达预备毕业生
发表于 2019-09-03 11:40:24
在机器中,整数的存储和运算都是其补码表示的。 正数右移:保持为正数,相当于/2。 负数右移:保持为负数,移位前是负数,移位后保持是负数,因此移位后最高位设为1。如果一直右移,最终会变成-1,即(-1)>>1是-1。 正数左移:不保持为正数,相当于*2。(注意:1左移31时为负数最大 展开全文
头像 把牛妹带回家
发表于 2019-07-26 15:48:26
二进制计算 显然,一个很简单的思路是一个一个数 class Solution: def NumberOf1(self, n): # write code here if n<0: n=n&0xffffffff 展开全文
头像 少一块星空
发表于 2020-01-03 16:21:11
python中首先明确一点就是二进制没有位数的概念,所以也就无法获得负数真实表示方法 n = -3 n = n & 0xffffffff #n=4294967293 bin(n)#查看二进制形式:'0b11111111 展开全文
头像 NoMoneyError
发表于 2019-08-06 00:32:43
public class Solution { public int NumberOf1(int n) { int count = 0; while(n != 0){ count += (n & 1); //每次判断最低位是否为 展开全文
头像 道阻且长z
发表于 2019-09-25 00:14:19
思路: 1.利用一个结论:一个二进制数n减1后与原二进制数进行&运算( 即n&(n-1) )会消去最右边的1。2.这个结论怎么来的? 假设二进制数101进行减1运算,刚好最右边是1,则得到100,此时用100跟101做&运算,得到的是100,故消去了101左右边的1。 10 展开全文
头像 Cyril-廖思睿
发表于 2020-01-03 23:51:44
第三种解法我觉得是最好的,将各个位置上的 1 都相加,就是 1 的个数 题解一 常规解法,循环右移,数个数 public class Solution { public int NumberOf1(int n) { int count = 0; while(n != 0) { 展开全文
头像 郭家兴0624
发表于 2019-08-10 10:47:46
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路1:用1和n的按位与,来判断当前位是否为1“按位与”的规则:1&1=11&0=00&1=00&0=0AC代码: return sum([(n>>i & 1) for i i 展开全文
头像 橙子爱吃桃子
发表于 2020-04-26 10:57:16
C++题解:1.有符号的数变为无符号的数,并不会改变其二进制的表达方式2.有符号的3是00000......11变为无符号还是00000.......113.有符号的-3是原码100000......11,补码就是1111111....01,变为无符号后还是111111111.....014.无符号 展开全文