我读到,当在C中实现xoshiro++以在单位间隔中生成均匀双精度时,应该使用公式(x >> 11) * 0x1.0p-53将64位无符号整元x转换为64位双精度.如果(出于反常原因)我想在Python中实现它,相应的表达是什么?

推荐答案

(x >> 11) * float.fromhex('0x1p-53')

fromhex是解释this Python documentation中十六进制浮点字面量的一种方式.

您也可以使用(x >> 11) * 0.00000000000000011102230246251565404236316680908203125.然而,我不知道Python实现是否一定会毫无错误地转换该文本.Python没有正式的规范,而且文档中关于浮点的描述也很薄弱.

Python相关问答推荐

正在设置字段.需要为假,因为错误列表索引必须是整数或切片,而不是字符串

使用pandas MultiIndex进行不连续 Select

如何修复fpdf中的线路出血

合并其中一个具有重叠范围的两个框架的最佳方法是什么?

Pandas使用过滤器映射多列

如何使用PyTest根据self 模拟具有副作用的属性

将轨迹优化问题描述为NLP.如何用Gekko解决这个问题?当前面临异常:@错误:最大方程长度错误

使用LineConnection动画1D数据

Python daskValue错误:无法识别的区块管理器dask -必须是以下之一:[]

PywinAuto在Windows 11上引发了Memory错误,但在Windows 10上未引发

两个pandas的平均值按元素的结果串接元素.为什么?

无法定位元素错误404

Pandas—合并数据帧,在公共列上保留非空值,在另一列上保留平均值

Python解析整数格式说明符的规则?

无法使用DBFS File API路径附加到CSV In Datricks(OSError Errno 95操作不支持)

如何在turtle中不使用write()来绘制填充字母(例如OEG)

将pandas导出到CSV数据,但在此之前,将日期按最小到最大排序

如何在FastAPI中为我上传的json文件提供索引ID?

使用特定值作为引用替换数据框行上的值

如何在Pyplot表中舍入值