Python NumPy读取二进制数据不正确?

Python NumPy读取二进制数据不正确?,python,pandas,numpy,Python,Pandas,Numpy,我正在使用一个二进制文件“uint64.bin”,它的全部内容可以用0x0f2d1e6002df9000表示 我的python代码如下所示: import numpy as np import pandas as pd my_dtype = np.dtype([('mytag','>u8')]) with open("uint64.bin", 'rb') as fh: data = np.fromfile(file=fh, dtype=my_dtype) df = pd.Data

我正在使用一个二进制文件“uint64.bin”,它的全部内容可以用0x0f2d1e6002df9000表示

我的python代码如下所示:

import numpy as np
import pandas as pd

my_dtype = np.dtype([('mytag','>u8')])
with open("uint64.bin", 'rb') as fh:
    data = np.fromfile(file=fh, dtype=my_dtype)
df = pd.DataFrame(data, columns=data.dtype.names)
print(df.get_values()[0])
打印的是1093563682234798080,而输出应该是1093563682234798100(差异在0x14位)。发生什么事了

我使用的是64位Windows,使用的是Python 3.7。

只需在Python中打印(0x0f2d1e6002df9000)。它给你:

1093563682234798080
所以你得到的答案是正确的,你关于它应该是什么的假设是错误的