二进制中1的个数
来源:互联网 发布:康有为 梁启超 知乎 编辑:程序博客网 时间:2024/05/16 07:53
题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
源码:
原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。
反码:
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
补码:
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
# -*- coding:utf-8 -*-#当n为负数时,在计算机中int数由32位二进制数表示,负数的补码由其二进制先取反后加1,#此处我们先直接算出其十进制补码的数值,再转换为二进制数进行计算"""int范围内,负数(十进制)n的二进制的补码有两种形式求得 1. pow(2, 32) + n, 然后再转化为二进制,即为二进制的补码 2. 直接用二进制求补码两种方式得到的补码相同"""class Solution: def NumberOf1(self, n): # write code here if n < 0: # 转化为十进制的补码 n = pow(2, 32) + n # bin 用来求二进制,用count统计1的个数 return (bin(n)).count("1")
0 0
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- Cookie和Session的作用,区别和各自的应用范围,cookie、Session工作原理
- PAT甲级1056
- 数列求和 (sdut oj)
- 递归模板模式的使用: 统计某类对象的个数
- 欢迎使用CSDN-markdown编辑器
- 二进制中1的个数
- SRM 516 NetworkXMessageRecovery
- 网关和游戏服务器的概念
- spring data rest1
- 从零使用QEMU模拟器搭建ARM运行环境
- Intel MKL 稀疏矩阵求解PARDISO 函数
- ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
- 1029. Median
- HDU - 1150 最小顶点覆盖