ieee-754相关内容

使用按位运算将 Int 转换为 Float 或 Float 为 Int(软件浮点)

我想知道您是否可以帮助解释将整数转换为浮点数或将浮点数转换为整数的过程.对于我的班级,我们将仅使用按位运算符来执行此操作,但我认为对从类型到类型的转换的坚定理解将在此阶段对我有更多帮助. 据我目前所知,要使 int 浮点数,您必须将整数转换为二进制数,通过找到有效数、指数和分数来标准化整数的值,然后从那里输出浮点数中的值? 对于float转int,你需要将值分成有效数、指数和分数,然后 ..
发布时间:2021-11-17 21:38:28 其他开发

如何实现浮点值的 totalOrder 谓词?

IEEE 754 规范在 §5.10 中定义了一个总顺序,我想在汇编中实现. 从维基百科描述,听起来很像这样可以实现了无分支,或几乎无分支,但我还没有想出一个像样的方法;我在主要编程语言中找不到任何现有的符合规范的实现 当比较两个浮点数时,它作为≤操作,除了totalOrder(−0, +0) ∧ ¬ totalOrder(+0, -0),同一个浮点数的不同表示是按其指数乘以符号位排序 ..

IEEE754的C ++静态断言

) 如何对IEEE754规范(浮点表示法)进行静态声明? 我的想法是这样的: 静态无符号字符c [8] = {0,0,0,0,0,0xd0,0x84,0x40};静态double d = * reinterpret_cast(c);BOOST_STATIC_ASSERT(d == 666.); 但是它不起作用:(我应该指出,我的编译器不是C ++ 11(我使 ..
发布时间:2021-05-15 19:34:31 C/C++开发

正弦余弦模块化扩展精度算法

我已经在正弦/余弦的许多实现中看到了一种所谓的扩展模块化精度算法.但是,这是为了什么呢?例如,在 cephes实现中,减小到范围[0,pi/4],他们正在执行此模块化精度算法以提高精度. 在代码下面: z =((x-y * DP1)-y * DP2)-y * DP3; 其中DP1,DP2和DP3是一些硬编码系数.如何在数学上找到那些系数?我已经知道“模数扩展算术"对于大数字的用途,但 ..
发布时间:2021-05-15 19:34:23 其他开发

Python NaN的集合和唯一性

我偶然发现了这种有趣的Python行为,涉及到 set s中的 NaN : #测试1nan = float('nan')事物= [0,1,2,nan,'a',1,nan,'a',2,nan,nan]唯一=集合(事物)print(unique)#{0,1,2,nan,'a'}#测试2事物= [0、1、2,float('nan'),'a',1,float('nan'),'a',2,float('na ..
发布时间:2021-05-15 19:34:17 Python

ULP(最后一个单位)与量子(IEEE 754)之间的差异

来自 ULP Wikipedia的页面: 约翰·哈里森(John Harrison)提出的另一种定义稍有不同:ULP(x)是两个最接近的跨浮点数a和b(即a≤x≤b且a≠b的浮点数)之间的距离,假设指数范围没有上限. 从IEEE 754 2008开始: 2.1.44量子:有限浮点表示形式的量子是单位在其有效位的最后位置的值.这等于升到指数q的基数,该指数在有效数被视为整数时使用. ..
发布时间:2021-05-08 19:58:43 其他开发

偏差值和浮点指数的范围

我意识到我坐在大学课桌时没有适当注意IEEE 754标准的浮点部分.但是,即使我目前还没有为嵌入式工作而苦苦挣扎,但由于缺乏某种数学计算方法并完全掌握标准,我仍然感到自己无能为力,也无力成为工程师称号. 我知道的是 0 和 255 是表示 0 和 infinity 的特殊值值. 有一个隐式 1 用于将 23bit 表示为 24 一些[-125 ... 128] .这确实是复 ..
发布时间:2021-05-08 19:58:19 其他开发

将python中的IEEE浮点数转换为TI TMS320C30 32位浮点数

我需要按照以下约定将python float转换为TI DSP TMS320C30 float表示形式: http://www.ti.com/lit/an/spra400/spra400.pdf#page=13 我已经尝试了一些方法,但是似乎无法将所提出的算法笼罩在脑海中.我还发现了 一些期望值的例子: #Float TI结果32位的十进制值################## ..

IEEE浮点数,如何计算偏差

如果我们有10位浮点数.4位=指数,5位为小数.如何计算偏差? 是2 ^ 4 = 16-1 = 15吗? 那是正确的吗? 解决方案 我希望它是2 位数的指数-1 -1(这里是7),常见的IEEE-754格式.检查维基百科. ..
发布时间:2021-05-08 19:58:02 其他开发

64位浮点数在所有现代PC上的表现都一样吗?

我想知道我是否可以假设在相同的64位浮点数上进行相同的操作在任何现代PC上以及在大多数通用编程语言中都能获得完全相同的结果?(C ++,Java,C#等).我们可以假设,我们对数字进行运算,结果也是一个数字(没有NaN,INF等). 我知道有两种使用浮点数的非常相似的计算标准(IEEE 854-1987和IEEE 754-2008).但是我不知道它在实践中如何. 解决方案 实现64位 ..
发布时间:2021-05-08 19:56:46 其他开发

浮点数如何保证7位数精度?

我知道单精度浮点数的符号为1位,指数为8位,尾数为23位. 我可以理解7位整数适合23位尾数并且不会丢失精度,但无法理解像1234567000000000这样的数字在没有宽松的"1,2,3,4,5,6,7"位的情况下如何适合,这背后的数学是什么? 解决方案 IEEE-754基本的32位二进制浮点格式仅保证六个有效的十进制数字将在往返转换中幸存下来,而不是七个.具体来说:如果您使用正确 ..
发布时间:2021-05-08 19:56:34 其他开发

保留顺序时将浮点转换为unsigned int

我发现了很多关于SO的答案,重点是将 float 转换为 int . 我只处理正浮点值.我一直在使用的一种简单方法是: unsigned int float2ui(float arg0){浮点数f = arg0;unsigned int r = *(unsigned int *)& f;返回r;} 上面的代码运行良好,但是无法保留数字顺序.按顺序,我的意思是这样: float f ..
发布时间:2021-05-08 19:56:29 其他开发

.NET Core中Gamedev的浮点确定性

背景 我们正在使用C#和.NET Core开发 RTS游戏引擎.与大多数其他实时多人游戏不同,RTS游戏的工作方式是将玩家的输入与其他玩家同步,并同时在所有客户端上同步运行游戏模拟.这要求游戏逻辑具有确定性,以便游戏不会不同步. 浮点运算是不确定性的一种潜在来源.从我收集的数据来看,主要的问题是旧的x87 FPU指令-它们使用内部80位寄存器,而IEEE-754浮点值是32位或64位, ..
发布时间:2021-05-08 19:56:25 C#/.NET

IEEE 754-2008是确定性的吗?

如果我从相同的值开始,并且对双精度64位IEEE 754-2008值执行相同的原始操作(加法,乘法,比较等),我将获得与基础无关的相同结果机器? 更具体地说:由于 ECMAScript 2015 指定了一个数字值是 与双精度64位二进制文​​件对应的原始值格式IEEE 754-2008值 我能得出这样的结论吗:相同的操作会在不依赖于环境的情况下产生相同的结果吗? 解决方案 ..
发布时间:2021-05-08 19:55:28 其他开发