python-3.x - 如何读取浮点数的特定位位置?
问题描述
我想读取浮点数的特定位置,例如 x[16:3](第 4 位到第 17 位)。C语言的情况就是这样简单
bits = x & ((2**L - 1) << M);
Python的情况下,浮点数不允许掩码操作的'&'。那么如何在 Python 上做到这一点呢?
解决方案
我不确定,如果我理解正确,但这将是我的解决方案:
import struct
def float_to_bin(num):
return format(struct.unpack('!I', struct.pack('!f', num))[0], '032b')
x=16.4637159674589415472835945
string=str(x)
bitx=float_to_bin(x)
part_of_string=string[4:17]
part_of_bitx=bitx[4:17]
我从其他地方(可能来自 Stackoverflow 的某个地方)复制了一次 float_to_bin 函数,以使浮点数成为二进制数。该函数已经使二进制数成为字符串,因此您可以使用通常的索引。如果要读取浮点数的特定位置,可以将该数字设为字符串,然后使用索引。
我希望,我没听错你的问题。最好的,莱帕克
推荐阅读
- angular - 我尝试使用 Angular 4,但我无法映射函数以将响应映射到 json
- pandas - 熊猫 to_csv 跳过数据帧的第一行
- html5-video - 如何在 html5 视频播放器中打开 Autodesk BIM360 视频文件?
- google-cloud-platform - 谷歌云虚拟机位置
- git - git推送错误信息
- php - 将变量插入 MySQL 数据库表
- c# - 使用 TABLE_ENTRIES_GET_VIA_RFC 从 SAP 获取数据到 C#
- linux - Jenkinsfile 环境变量不反映在脚本部分中调用的 Makefile
- javascript - Cookie 不包含“secure”和“HTTPOnly”属性
- java - 在全局事务中运行的本地事务的正确含义是什么?