Python 二进制常用方法总结

chatgpt赋能python:Python编程中的二进制数据处理 二进制是计算机中最基础的数据类型,它只包含“0”和“1”两种状态。这些状态被解释为电子信号的开与关,因而二进制可用于表示数字、图像、声音等多种数据类型。计算机中的数据都是以二进制形式保存的。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公。 阅读详情

题目要求,查看二进制中1的个数

1. 转换二进制统计

bin转化为二进制

def countBinary(n):
	return bin(n).count('1')

2. 二进制移位

# int val; // input data
ans = 0
while val != 0:
    if val & 1:
    	ans += 1
    val >>= 1
    return ans

代码中val & 1表示val 与 0x000…0001(其中有31个0)进行 & 操作。
val >>= 1表示,如果val的二进制是110,则操作之后会变成011,也就是舍去最低位,然后最高位补0.
但是如果val为负数,最高位会补1,所以对于负数还是有点问题。
我们可以转换一下思路,让一个数0x01从右向左与val的每一位进行&操作来判断

def binary2(num):
    mark = 0b01
    ans = 0
    while mark <= num:
        if mark & num:
            ans += 1
        mark <<= 1
    return ans

0b二进制 0x十进制 0o二进制

3. 技巧法

对于上一种解法中,无用操作是,如果当前位是0, 还是会做判断,然后一位一位的移动。
如果,给你一种超能力,你一下可以对从右向左的第一位1直接判断,遇到0直接略过,那效率是不是很快。

现考虑二进制数:val :1101000, val-1: 1100111 那么val & (val-1) : 1100000

def countN(num):
	ans = 0
	while num:
		ans += 1
		num &= (num-1)
	return ans
python之二进制 二进制表示十进制与二进制十进制与八进制字符的二进制表示 十进制与二进制 十进制—>二进制,除2取余倒排列 如十进制的5,表示为二进制101 python实现: d = 5 bin(5) #"0b101" #将当前二进制数据,转为整型 int("0b101",base=2) # 5 小数部分,则乘2取整正排列 如十进制的0.5,表示为二进制0.1 二进制---->十进制,只需加权求和 如二进制101,其十进制表示为1*22+0*21+1*20=5 十进制与八进制 十进制---->八进制, 阅读详情

相关推荐

Python读取二进制文件:深入解析与技术实现

在本文中,我们深入了解了Python读取二进制文件的方法,包括使用内置函数和标准库。我们还讨论了如何处理读取的二进制数据,如解析数据和转换数据类型。这些方法在处理二进制文件时非常有用,可以应用于各种领域,如科学计算、图像处理、音频分析等。然而,Python读取二进制文件的方法还有很多可以探索和改进的地方。未来,我们可以进一步研究如何提高读取二进制文件的效率,以及如何处理更复杂的二进制文件格式。

这家伙很懒,什么都没有留下 1万+

python的二进制、八进制、十六进制

关于Python的二进制、八进制与十六进制。以及的他们之间与十进制的转化关系,例如,要想将八进制转化为十六进制,就需要先将八进制转化为十进制,再将十进制转化为十六进制,下面我将讲到。

weixin_61057398的博客 1万+

17【Protues单片机仿真】基于51单片机的太阳能智能谷物翻晒机器人

基于51单片机,避障,低于50CM报警,LED灯亮起,自动翻晒用光敏电阻,光照强度大,电机转动,相当于翻晒粮食,远程控制用按键代替,按下去电机就转动,相当于翻晒粮食,然后光照强度和超声波的距离都在LCD1602显示屏显示出来。

weixin_70360261的博客 1448

数据结构与算法--二进制详解 Python二进制算法详解 史上最详细的二进制讲解 彻底搞懂原码、反码、补码 Python的负数二进制表示形式

先详细补充二进制的所有内容,整合二进制涉及的所有算法

storyfull 7010

4×V100部署Qwen3.8-Flash-Next:vLLM/GGUF实战

大模型本地部署的核心,是把参数量、量化精度、显存容量和推理框架放在同一张账本里算清楚。MoE 模型总参数量大但激活参数少,解码阶段更受显存带宽与 KV Cache 限制;通过 INT4/AWQ 或 GGUF 等 4-bit 量化可显著压缩权重占用,再结合 vLLM 张量并行、llama.cpp 分层切分提升多卡利用率。其技术价值在于让 V100 这类老架构 GPU 也能承载百亿级参数模型的私有化推理,并服务于 RAG 知识库、工作流 API、批量生成等场景。这次围绕 4×V100 32G 部署 Qwen3.

weixin_29061425的博客 349

STM32F103C8T6蓝莓派用HAL库GPIO模拟SPI驱动MAX31865读取PT100温度(附完整代码)

本文详细介绍了如何在STM32F103C8T6蓝莓派开发板上使用HAL库通过GPIO模拟SPI驱动MAX31865读取PT100温度传感器的完整方案。内容包括硬件连接、CubeMX配置、GPIO模拟SPI实现、温度计算算法及常见问题排查,并附有完整代码示例,帮助开发者快速实现高精度温度测量。

weixin_30684743的博客 937

Python File(文件) 常用场景 读写追加 二进制打开方法

写程序时经常能遇到读写文件的需求,有时会忘了各种读写模式的参数设置。这里做个记录,主要内容是: - 打开模式的参数设置 - 打开文件 - 读写文件 - 复制文件

code_space 1478

基于STM32的红外测温系统设计

为了实现本次的毕业设计,我搜集了大量的文献与资料,通过这些资料了解到红外测温的优点,与实现所需的基本器件,并设计了几个方案,最终选择了STM32作为主控芯片,为此还查阅了关于STM32的资料,在此次设计中采用的是MLX90614医用红外测温模块,通过查阅其数据手册了解其测量精度高且自带温度补偿,所以选择了该传感器作为红外测温模块,本次设计到此已经基本完成,硬件部分和软件部分的设计已基本完成。

weixin_112233的博客 1422

【python学习】基础篇-常用模块-Base64:用64个字符表示任意二进制数据的方法,常用于在URL、Cookie、网页中传输少量二进制数据

3.URL安全的编码:使用urlsafe_b64encode()方法将二进制数据转换为URL安全的Base64字符串。4.URL安全的解码:使用urlsafe_b64decode()方法将URL安全的Base64字符串转换为二进制数据。Base64是一种用64个字符表示任意二进制数据的方法,常用于在URL、Cookie、网页中传输少量二进制数据。Python中的base64模块提供了一些方法用于编码和解码Base64字符串。1.编码:将二进制数据转换为Base64字符串。

邑轻辰的学习笔记 529

【Arduino 动手做】构建一个迷你 Las Vegas RGB LED 球体

《Arduino迷你拉斯维加斯球体项目:15岁少年的创意挑战》 15岁的Ben通过本项目展示了如何利用Arduino平台制作一个经济实惠的迷你拉斯维加斯球体夜灯。该项目涉及LED选择(采用WS2812B可编程灯带)、电子元件配置(含Arduino Nano微控制器和红外遥控)以及3D建模设计(100毫米直径球体)。项目难点包括LED布局优化、供电方案设计和3D打印外壳制作。Ben详细记录了从背景研究、电路设计到最终实现的完整过程,特别强调了分辨率与成本的平衡,以及如何通过白色扩散器改善视觉效果。这个项目不仅

雕爷学编程 1024

【YOLOv11多模态融合改进】(可见光+红外)涉及像素级融合、特征级融合(中期、中后期、后期)、决策级融合的完整配置步骤以及二次改进方案

在网络输入阶段将多模态数据直接合并,形成统一的特征表示。

Limiiiing的博客 1968

Python bytes类型及用法

通过理解bytes类型及其用法,你可以更有效地处理Python中的二进制数据。

2401_85737078的博客 773

Spark中Application、Job、Stage和Task区别详解

在Spark中,有一些关键的概念,如Application、Job、Stage和Task,它们描述了Spark作业的不同层次和组成部分。下面我将详细介绍每个概念,并通过示例说明它们之间的区别。

优快云 精品推荐 903

python基础之序列类型(元组及二进制序列)

元组(tuple) python中元组的形式与列表相似,元组是用小括号()括起来的一些用逗号隔开的数据(当元组中只有一个数据时需要在数据后加‘逗号’),和列表一样元组中的数据都分配有各自的索引,可以通过索引对元组进行取值与切片的操作,与列表不同的是元组内的元素是不可改变的,如果不得不对元组中的元素进行修改,则必须先把元组转换成列表在进行操作。 由于元组是不可变对象,因此对元组的操作也...

ass201290的专栏 296

北斗导航 | 卡尔曼滤波与因子图优化对比(附图优化matlab代码)

- 历史数据利用:因子图通过滑动窗口保留历史状态,优化时联合多帧数据;卡尔曼滤波仅依赖当前和上一帧状态 。 - 迭代优化:因子图通过多次迭代逼近最优解,卡尔曼滤波仅单次更新 。 - 误差抑制:因子图的多次线性化可有效抑制非线性误差(如GNSS伪距观测的非线性) 。

尘世冰封的专栏 1303

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python读取文件模式_5种python常用读写文件方法精讲

5种python常用读写文件方法精讲python读写文件需要先使用open函数获得文件对象,open函数中有一个 mode参数,默认为'r' ,在不同的应用场景下,要选择不同的模式,下表是mode参数的可选值列表访问模式说明r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a打开一个文件用于追加。如...

weixin_39526238的博客 1482

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Python 文件(File) 的常用方法

Python文件操作指南:通过open()函数实现数据持久化,涵盖文本/二进制文件的读写、指针操作及异常处理。关键点包括:使用with语句自动管理文件、区分读写模式(r/w/a等)、大文件推荐逐行读取、注意编码格式(文本模式)和及时关闭文件。提供read()/write()等基础方法,以及seek()/tell()指针控制,强调异常处理确保程序健壮性。特别说明二进制操作需加'b'模式,适用于图片等非文本文件。

Mr_Zhen的博客 1021

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python0到10的for循环整数_python 整型、字符串常用方法、for循环

整型--int定义:用于比较和计算python2和python3:python2:python2中油int(整型)和long(长整型):1231312L+进制转换:十进制转二进制:正除2,获取余数,余数从上往下进行整合# 123456(十进制)# 余数# 3 1# 1 1# 0# bin 求数字的二进制# 0b -- 二进制# print(bin(3))二进制转十进制# 1001# 从右向...

weixin_39877805的博客 1493

Python 常用内建模块-base64

这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。所以,Base64编码会把3字节的二进制数据编码为4字节的文本数据,长度增加33%,好处是编码后的文本数据可以在邮件正文、网页等直接显示。因为Base64是把3个字节变为4个字节,所以,Base64编码的长度永远是4的倍数,因此,需要加上。这样我们得到4个数字作为索引,然后查表,获得相应的4个字符,就是编码后的字符串。

分享编程知识与技巧 致力于技术交流与学习 找我合作私聊 有偿解决计算机问题 717

Python入门【二进制文件的读取和写入、文件对象的常用属性和方法、文件任意位置操作 、使用pickle序列化、CSV文件的操作、os和os.path模块、os模块-文件和目录操作】(二十)

Python入门【二进制文件的读取和写入、文件对象的常用属性和方法、文件任意位置操作、使用pickle序列化、CSV文件的操作、os和os.path模块、os模块-文件和目录操作】(二十)

abc19991119的博客 2515

python中的进制转换以及浮点数二进制转换

为什么要注意这三点: 1、首先是项目中用到的进制转换,常用的int ord hex 以及编写的转换函数,作为记录 2、其次是python 3相对于旧版主要的区别就在这里,主要是bytes 和 string的区别 3、浮点数进制间的转换,主要是记住转换格式标准就行 (1)、进制间的转换   二进制,十六机制转十进制比较容易,直接int(‘7a’,16)就可以了,但是注意这里是单字节,也就是...

herr_kun的博客 2万+

Python第九章(文本文件与二进制文件操作)

1. 文本文件 文本文件存储常规字符串(指记事本之类编辑器能正常显示、编辑、能直接阅读理解的字符串),由若干文本行组成,每行’\n’结束 内置函数open() Open()可以指定模式打开指定文件并创建文件对象 语法: open('文件路径','文件处理方式','编码和解码方式',...) 文件路径:相对路径和绝对路径 文件处理方式: 模式 说明...

CDZAllier的博客 1664

Python3 File 文件 方法

open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。 open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。 open(file, mode='r') 完...

akemt的专栏 321

python 区块链 文件共享_Python File(文件) 方法

open() 方法Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。open(file,mode='r')完整的语法格式为:ope...

weixin_34434948的博客 210

2025-10-08 Python 标准库 7——内置类型:二进制序列

摘要: Python提供了bytes和bytearray两种二进制序列类型。bytes为不可变对象,支持字面值(b'...')、构造器(bytes())和十六进制转换(fromhex())创建;核心特性包括序列索引(返回整数)、十六进制输出(hex())和字符串解码(decode())。bytearray为可变版本,仅能通过构造器创建,支持元素修改和动态调整(append/extend),但方法多返回新对象而非原地操作。两者均兼容ASCII操作,非ASCII数据需转义处理,适用于二进制协议和编码转换场景。(

zheliku的博客 1156

Python3 File文件)方法(20)

Python3 File(文件) 方法 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。 open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。 op...

weixin_42180610的博客 164
上一篇: ACM python 输入输出
下一篇: 大气散射模型解释
Fighting_1997
博客等级 码龄7年 3万+粉丝 306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting_1997

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值