1 = 0b1 -> 1

5 = 0b101 -> 3

10 = 0b1010 -> 4

100 = 0b1100100 -> 7

1000 = 0b1111101000 -> 10

如何获取整数的位长度,即在python中表示正整数所需的位数?

int.bit_length():返回用二进制表示整数所需的位数,不包括符号和前导零。docs.python.org/2/library/…

@其中一个是popcount(设置位的数目)。

在python 2.7+中,有一个int.bit_length()方法:

>>> a = 100

>>> a.bit_length()

7

>>> len(bin(1000))-2

10

>>> len(bin(100))-2

7

>>> len(bin(10))-2

4

注:对于负数无效,可能需要减去3而不是2。

但这不适用于负数(与日志版本相反,它也不会在负数上失败)

你说得对@killiands,我加了个便条

如果你关心的是负数,那就做len(bin(abs(n)))-2。

更重要的是,这对0来说是失败的。

另一种方法是做len("{:b}".format(x)),以避免不得不做减法。

如果您的python版本有它(≥2.7对于p

python中整数的长度_Python中正整数的位长度相关推荐

  1. python 定义list长度_python中list列表的高级函数 python如何统计列表的长度

    在python的函数中,如何将列表list的一部分作为函比如定义个函数,想实现的功能就是将列表a的后半部分(['c','d'])传入后面paraTestList(a[2:])中,括号里面的a[2:]命 ...

  2. python中print的用法_python中print用法

    print用法 参考文档: https://blog.csdn.net/sinat_28576553/article/details/81154912 目录 一.print()函数概述 二.变量的输出 ...

  3. python如何在手机运行内存_Python中对象的内存使用(一)

    ❯ venv/bin/ipython Python 3.8.0b3+ (heads/3.8:9bedb8c9e6, Aug 13 2019, 10:49:01) Type 'copyright', ' ...

  4. python中字典列表元组_Python中的列表和元组

    python中字典列表元组 Lists and tuples are arguably Python's most versatile, useful data types. You will fin ...

  5. python中array的用法_Python中的numpy.array()用法

    齐次多维数组是NumPy的主要对象.它基本上是一个元素表, 这些元素都是相同类型的, 并由一个正整数元组索引.尺寸在NumPy中称为轴. NumPy的数组类称为ndarray或别名数组. numpy. ...

  6. python输出数字和字符串_Python中的数值和字符串

    一.Python中的数值 python中的数值分为三类:整型.浮点型和复数 1.整型: python3的整型支持各种类型的整数: python的整数值有4种表达形式: a.十进制形式,最普通的整数就是 ...

  7. python中赋值语句的作用_python中return可以使用赋值语句吗?

    在python中,有各种不同类型的语句.一个python程序是由模块构成的;一个模块由一条或多条语句组成;每个语句由不同的表达式组成;表达式可以创建和操作对象.下面来看看python中的语句. 赋值语 ...

  8. python中round函数参数_python中关于round函数的小坑

    round函数很简单,对浮点数进行近似取值,保留几位小数.比如 >>> round(10.0/3, 2) 3.33 >>> round(20/7) 3 第一个参数是 ...

  9. python常用函数的用法_python中常用函数整理

    1.map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象. class map(object):""&qu ...

最新文章

  1. 绘制你的世界:探索构图和真实的深度感
  2. 云环境上如何使用tensorboard
  3. 【百家稷学】深度学习在计算摄影中的方法与应用(vivo技术分享)
  4. VS 2005/2008 开发工具中 使用正则表达式查找替换的使用说明
  5. 编写一个函数,函数接收一个字符串,是由十六进制数组成的一组字符串,函数的功能是把接到的这组字符串转换成十进制数字.并将十进制数字返回
  6. 爬虫 spider02——详析http
  7. 基于matlab的语音信号基本处理系统,基于matlab的语音信号处理及分析
  8. 奥克兰大学计算机科学与技术,奥克兰大学与2016级计算机科学技术专业(中外合作办学)学生见面会顺利进行...
  9. mysql 操作xm_mysql基本命令使用
  10. [Web 前端] 解决因inline-block元素导致的空白间距和元素下沉
  11. java汉字转化accic_Java自主学习贴
  12. 教师资格证综合素质思维导图
  13. C中不安全的函数以解决办法汇总
  14. linux alias别名管理
  15. 使用MITab操作MapInfo地图文件
  16. 公司终于把我变成了一颗忠诚的螺丝钉,我再也不能离开它
  17. man exportfs(exportfs命令中文手册)
  18. CF1106F Lunar New Year and a Recursive Sequence(矩阵快速幂+bsgs+exgcd)
  19. 使用whistle代理
  20. 《通信原理》复习笔记10----第十章模拟信号的数字传输及相关例题(重点及难点)

热门文章

  1. 谷歌浏览器不能登录同步
  2. NTT笔记和多项式全家桶
  3. [每日100问][2011-9-06]iphone开发笔记,今天你肿了么
  4. EXCEL文件中的VBA模块名包含中文名导致打开失败的案例。
  5. 98-微服务项目的编写(下篇)
  6. 东南大学计算机专硕录取分数线,东南大学研究生录取分数线
  7. 2022哈工大软件构造我的学习笔记(1)
  8. SpringBoot项目中的全局异常处理器 Failed to invoke @ExceptionHandler method
  9. airpods pro是按压还是触摸_苹果三代耳机是触摸还是按键
  10. 【产品设计】浅析产品新手引导设计