标签: ieee-754

ldexp和frexp如何在python中工作?

python frexp和ldexp函数将浮点数拆分为尾数和指数.有人知道这个过程是暴露实际的浮动结构,还是需要python来进行昂贵的对数调用?

python floating-point mantissa exponent ieee-754

2
推荐指数
1
解决办法
1690
查看次数

IEEE浮点,如何计算偏差

如果我们有10位浮点数.4位=指数,5位是分数.如何计算偏差?

是2 ^ 4 = 16-1 = 15?

那是对的吗?

floating-point ieee-754

2
推荐指数
1
解决办法
8251
查看次数

Ruby将64位IEEE 754十六进制转换为double

我需要从IMU输出十六进制数据流到lat long和height值.

数据以双精度十六进制字符串形式出现,我需要将它们输出为十进制值.

我尝试了几个打包和解压缩值,但最终除了编写自己的函数之外无法找到解决方案.

有没有办法翻译这个双精度64位十六进制字符串:

"4044F33333333333"
Run Code Online (Sandbox Code Playgroud)

进入这个小数:

41.900000000000000
Run Code Online (Sandbox Code Playgroud)

使用打包和解包功能?

有没有能够处理IEEE 754号码的图书馆?

ruby unpack ieee-754 pack

2
推荐指数
1
解决办法
1155
查看次数

为什么代表1.0和2.0的位串如此不同?

我最近开始使用Julia,我发现了bits函数,它返回其数字参数的位串表示.例如:

julia> bits(1.0)
"0011111111110000000000000000000000000000000000000000000000000000"
Run Code Online (Sandbox Code Playgroud)

但是,在使用此功能时,我惊讶地发现bits返回非常不同的位串1.02.0:

julia> bits(1.0)
"0011111111110000000000000000000000000000000000000000000000000000"

julia> bits(2.0)
"0100000000000000000000000000000000000000000000000000000000000000"
Run Code Online (Sandbox Code Playgroud)

我原以为这两个值是相似的......

那些位是什么意思?我含糊地回忆起有关编码指数的比特(来自我的数值分析类),但我真的不记得了,我没有设法在网上找到一个好的描述......

floating-point ieee-754 julia

2
推荐指数
1
解决办法
169
查看次数

将64位十六进制转换为在PHP中浮动

我正在尝试将64位十六进制数字转换为PHP中的浮点数。

40F82C719999999A
Run Code Online (Sandbox Code Playgroud)

如果在http://babbage.cs.qc.cuny.edu/IEEE-754.old/64bit.html的IEEE-754浮点转换页面中运行该命令,它将转换为:

99015.100000000000
Run Code Online (Sandbox Code Playgroud)

我要寻找的是哪个号码。但是我无法在PHP中获得此数字。我试过使用pack()和unpack()的各种组合,但是我离哪里都不远。:(

php hex ieee-754

2
推荐指数
1
解决办法
2215
查看次数

计算算术平均值时,哪种求和方式更精确?

给定计算n IEEE 754双精度浮点数x 0,x 1,...,x n - 1的算术平均值的任务,是否更精确

(ksum i x i)/ n

(即首先进行所有x i的Kahan和,然后除以n)或

ksum i(x i/n)

(即首先将x i除以n然后进行Kahan求和)?

我自己的测试(在[0,1)中均匀分布的随机数和在0以σ= 1为中心的整个浮点数范围内的正态分布数字)是不确定的,表明两者都非常精确,但我选择的测试数据可能特别差.

floating-point precision average mean ieee-754

2
推荐指数
1
解决办法
88
查看次数

如何操作(快速)尾数和指数部分的double或浮点数在c ++?

我使用c ++来计算各种类型的特殊函数(例如Lambert函数,用于评估反演的迭代方法等).在许多情况下,直接使用尾数和指数有明显更好的方法.

我找到了许多答案如何提取尾数和指数部分,但是所有这些都只是"学术案例,计算速度不是很快",对我来说有点无用(我用尾数和指数操作的动机是改进计算速度).有时我需要调用一些特定功能大约十亿次(非常昂贵的计算),所以每个节省的计算工作都很好.并且使用将尾数作为double的"frexp"不太合适.

我的问题是(对于带有IEEE 754浮点的c ++编译器):

1)如何读取浮点数/双精度的尾数的具体位?

2)如何将整个尾数读入float/double的整数/字节?

3)与指数1),2)相同的问题.

4)与写入1),2),3)相同的问题.

如果我直接使用尾数或指数,我的动机是更快的计算.我想必须有一个非常简单的解决方案.

c++ mantissa exponent numerical-computing ieee-754

2
推荐指数
1
解决办法
911
查看次数

在JavaScript中没有外部库可以处理整数溢出吗?

在Javascript中(在Chrome devtools控制台面板和Node.js的v0.12.5),我得到了这两个大数的产品不正确的答案:

输入: 41962049 * 1827116622

输出: 76669557221078480

在C++和C#中,76669557221078478在将表达式转换为64位int时,我得到了正确的答案.

我假设这是一个整数溢出问题,但我当然可能是错的.

有没有办法在不使用像BigInteger这样的外部库的情况下在Javascript中为大数字获取准确的算术产品?这适用于不允许使用其他库的在线类.

谢谢你的帮助.

编辑:感谢解释如何实际上不是整数溢出,Patrick Roberts!很有用.

编辑2:jfriend00,我认为这个问题与你链接的问题不同,因为我试图弄清楚是否有办法解决JS的局限而不依赖于外部库.您在评论中提供的答案有助于回答我的问题,谢谢!

javascript algorithm ieee-754 node.js

2
推荐指数
1
解决办法
350
查看次数

IEEE754:保证分割结果

考虑:

\ x/10 ^ y = z.5

x是正整数,其最大值不可能高于约10,000,000.

y是一个小整数,> = 0,最大值约为5; 如有必要,我可以设置上限.

计算z,然后四舍五入到最接近的整数,中间的情况向上舍入.我对数字正确答案向上舍入的情况感兴趣,但双精度754给出了"错误"答案,然后向下舍入.因此,换句话说,数值正确的结果具有> = 0.5的小数部分,但实际结果的小数部分<0.5.

我正在使用的语言不允许我访问FPU设置,因此我只能使用默认设置(主要是x86_64,Linux和Windows).

我是否必须接受某些答案是"错误的",或者我可以对xy设置一些限制,以保证给出所需的答案?或者是否有另一种计算方法可以在舍入后给出正确的答案?如果有必要的话,我也可以改变z如何舍入的定义,如果我能真正对结果做出保证的话.

floating-point ieee-754

2
推荐指数
1
解决办法
54
查看次数

除IEEE754之外是否还有32位浮点表示

前言:

我目前正在尝试解密旧的二进制格式(在日本80年代中期到80年代后期开发),该格式将浮点值存储在4字节块中,而不是用IEEE754标准转换.我有一个程序为我转换值,所以我可以操纵二进制文件来更改存储的值并查看结果,但我无法弄清楚如何解释它们.

我确实解释了4个字节的每个可能的排列作为IEEE浮点数,但没有一个是正确的,所以我可以说它不是字节序问题,也不是我知道或可以在互联网上找到的浮点数表示.

我试图调查我使用的程序的程序集,但是我的汇编程序技能不够好,无法从中获取任何东西.

这里有些例子:

  • A0 78 2D 00 = 298.
  • A0 78 2D 01 = 1975.7
  • A0 78 2D 02 = 3653.4
  • A0 78 2C 00 = 291.4
  • A0 78 2C 02 = 3646.8

Actuall问题:

在IEEE754标准之外/之前是否还有其他(旧的)32位浮点表示?

floating-point binaryfiles data-conversion binary-data ieee-754

2
推荐指数
1
解决办法
45
查看次数