在python中将定点转换为浮点时出现问题
我正在使用python numpy阅读minew灯塔,现在我在将固定点转换为浮点时遇到了问题 在Minew E7数据表上,我有以下信息: 我必须将固定点8.8转换为浮点 我正在使用以下代码进行转换:在python中将定点转换为浮点时出现问题,python,numpy,hex,fixed-point,Python,Numpy,Hex,Fixed Point,我正在使用python numpy阅读minew灯塔,现在我在将固定点转换为浮点时遇到了问题 在Minew E7数据表上,我有以下信息: 我必须将固定点8.8转换为浮点 我正在使用以下代码进行转换: 从rig.type\u将导入fp\u转换为\u float def ConvertedFixedPtoFloat(十六进制字符串): hexaInt16=int(hexaString,16) f4=浮点数到浮点数(n分数=8) 返回(f4(十六进制)) 如果查看数据表,十六进制数0xFFFE必须
从rig.type\u将导入fp\u转换为\u float
def ConvertedFixedPtoFloat(十六进制字符串):
hexaInt16=int(hexaString,16)
f4=浮点数到浮点数(n分数=8)
返回(f4(十六进制))
如果查看数据表,十六进制数0xFFFE必须是-0.01,但我的函数返回的是:255.9921875
我的phython版本是Python 3.7.3
我怎样才能在右边转换它 您需要将无符号整数转换为有符号整数
if hexaInt16 >= 0x8000:
hexaInt16 -= 0x10000
以上是你问题中的具体数字。对于更通用的无符号到有符号转换,可以使用此函数
def signed(n, bits=16):
n &= (1 << bits) - 1
if n >> (bits - 1):
n -= 1 << bits
return n
def签名(n,位=16):
n&=(1>(位-1):
n-=1参见。