栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

剑指11 统计二进制数中1的个数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

剑指11 统计二进制数中1的个数

一、题目概述

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

这是一个要利用到进制移位的问题

以前做进制的题目的时候总有点混 所以现在来补充一下进制上的知识

考虑几个补码中的基础知识

正数右移 保持为正数 相当于/2。负数右移 保持为负数 移位前是负数 移位后保持是负数 因此移位后最高位设为1。如果一直右移 最终会变成-1 即(-1) 1是-1。正数左移 不保持为正数 相当于*2。 注意 1左移31时为负数最大值 负数左移 不保持为负数 在左移的过程中会有正有负的情况。所以切记负数左移不会特殊处理符号位。如果一直左移 最终会变成0。

考虑操作逐位数统计

​ 对于1 每一次

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267077.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号