
[英]Packing an IEEE-754 16-bit float to a 16-bit unsigned integer while preserving order
我有一个 IEEE-754 16 位浮点数,我想将其无损打包为 16 位无符号 integer。最简单的方法当然是打包它的字节然后解包,但问题是我需要之后比较我程序中的 16 位整数(即大于、小于等)。 所以我正在寻找 f16 和 u16 之间保持顺序的同构。 任何人都可以建议执行此操作的算法吗? ...
[英]Packing an IEEE-754 16-bit float to a 16-bit unsigned integer while preserving order
我有一个 IEEE-754 16 位浮点数,我想将其无损打包为 16 位无符号 integer。最简单的方法当然是打包它的字节然后解包,但问题是我需要之后比较我程序中的 16 位整数(即大于、小于等)。 所以我正在寻找 f16 和 u16 之间保持顺序的同构。 任何人都可以建议执行此操作的算法吗? ...
[英]It looks like half-precision 0.01825 is not exactly represented in single?
我想每个半精度(16 位)数字都可以用单精度(32 位)精确表示。 但是下面的实验似乎表明半精度 0.01825 只能近似地表示为单个。 知道有什么问题吗? ...
[英]How to disable printing of "-nan" from fmt
我正在努力将一些软件转换为使用 fmt 库,该库以前结合使用double-conversion 、 iostream和boost::format 。 大多数数值 output 是双精度浮点数,我们有许多测试来检查涉及无穷大、nan 等的极端情况。 我的问题是,使用 fmt,许多测试输出已更改为显示 ...
[英]Is this expected behavior for float fused-multiply-add?
我有三个使用(32 位)浮点数精确表示的数字: 我希望执行融合乘加x*y+z以返回数学上正确但四舍五入的值。 正确的数学值是-2489344 ,不需要四舍五入,因此这应该是融合乘加的 output。 但是当我执行fma(x,y,z)时,结果是-6280192 。 为什么? 我使用的是 rust。注 ...
[英]Maximum absolute and relative error of IEEE-754 single precision representation?
我正在寻找 IEEE-754 单精度表示的最大总体绝对和相对误差。 符号:1 位,指数:8 位,尾数:23 位。 我知道当归一化时,有效数字中的最大位数为 23(我们显然假设符号位和指数为 8)。 因此,如果出现任何额外的数字,那么错误将从 2^-24 开始传播,即 2^-24、2^-25、2^- ...
[英]Compact yet exact floating-point number formatting
修复 Lua JSON 实现,我将数字格式的“%.14g "%.14g"替换为"%.17g"以防止精度损失:使用"%.17g"格式化 17 位数字始终足以允许转换 IEEE 754 双精度数(默认 Lua数字类型)转换为可以转换回精确数字的字符串表示形式。 但是,这可能会导致难看的数字格式:( (" ...
[英]converting a number to a binary code using the IEEE 754 standard 24bits
我有一个关于用 IEEE 754 标准隐藏号码的问题。 但我有 24 位(1 位分配给符号/7 位分配给指数/剩余 16 位分配给尾数) 不幸的是我不知道我该怎么做。 也许有人可以帮忙? ...
[英]Get IEEE-754 single precision representation of a real number in VHDL
我想将一个实数转换为他的位表示,在 VHDL TB 中使用符号、指数和尾数字段用于测试目的(作为 32 位的 STD_LOGIC_VECTOR)。 有没有办法直接在 VHDL 中将实数转换为这种表示形式? 我知道在 C 中可以使用结构来实现它,但我不知道在 VHDL 中是否可行。 谢谢你。 编辑: ...
[英]Bad operand types 'std_ulogic' and 'string(1 to 1)' from vhdl
我在第 13 行和第 27 行的代码中有这个错误,在 vhdl 上,有人知道哪里出了问题吗? 我在其他电脑和编译器上试过,都遇到了同样的问题 ...
[英]Convert float64 to hexadecimal in Rust
我想知道如何将 float64(或 float32)转换为相应的二进制/十六进制格式。 如果能够指定字节顺序(更喜欢以小端格式打印),那就太好了。 链接帖子: How to convert hex string to a float in Rust? 谢谢! ...
[英]How do I generate random subnormal numbers?
我想验证一段代码是否适用于次正规数,所以我想生成一堆随机的次正规单精度数(包括零)。 我怎样才能做到这一点? 除以大数以获得次正规的解决方案可能会四舍五入为零,或者在最好的情况下,可能不会给出均匀分布。 nextafter迭代可以工作,但它会很慢! ...
[英]Unexpected round behaviour of Numpy float32
我试图了解 numpy 如何处理 float32 数据类型。 以下代码产生 0.25815687 但是在线浮点转换器https://www.h-schmidt.net/FloatConverter/IEEE754.html给出 0.2581568658351898193359375,Numpy 在打 ...
[英]Explanation of Epsilon in IEEE 754
Epsilon 是数字编码方案中的最小值,可以将其与1相加以生成具有明显不同表示形式的数字。 任何人都可以帮助我理解为什么在后一个例子中精度损失更大吗? console.log(Number.EPSILON > (0.1 + 0.2 - 0.3)) // true console.log ...
[英]Why is zero not a subnormal number?
IEEE-754 标准定义次正规数,以便明确排除两个零。 这个决定的理由是什么,这是否意味着次正规的性能惩罚不适用于零? ...
[英]Rounding a floating point number to an increment of another floating number, and getting the result with minimal numerical precision error
实现这一点的标准方法会产生比必要更多的数值精度误差。 例如: 在这里, value_rounded没有与value完全相同的位模式。 换句话说, value_rounded具有数值精度误差,并且不代表与原始20.3123最接近的浮点值(根据 IEEE 754)(在这种情况下,它已经四舍五入,尽管我的 ...
[英]Best non-trigonometric floating point approximation of tanh(x) in 10 instructions or less
描述对于没有内置浮点三角函数的机器,我需要一个相当准确的快速双曲正切,例如,通常的tanh(x) = (exp(2x) - 1) / (exp(2x) + 1)公式正在运行需要exp(2x)的近似值。 所有其他指令,如加法、减法、乘法、除法,甚至 FMA(= MUL+ADD in 1 op)都存在。 ...
[英]Is there a double number better than 1.0 for representing the real number 1 + 1e-16?
众所周知,浮点计算是不精确的。 例如: 在这种情况下,我想知道是否有一个比 1.0 更好的双数来表示实数1+1e-16 (更好意味着更接近实数)? 换句话说,我试图弄清楚这种不准确是由于问题本身还是由于解决方法造成的。 ...
[英]Why does println! print different outputs for f32 and f64?
鉴于此代码:let a: f64 = 0.1 + 0.2; let b: f32 = 0.1 + 0.2; let c: f32 = 0.30000000000000004; let d: f32 = 0.300000012; println!("{}", a); // 0.3000000000 ...
[英]float.h-like definitions for IEEE 754 binary16 half floats
我正在使用 SoftFloat 库中实现的半浮点数(阅读:100% IEEE 754 兼容),并且为了完整起见,我希望为我的代码提供与<float.h>中可用的float等效的定义, double和long double 。 我知道有不同风格的半浮点数,但我只对 IEEE 754 的标准 ...
[英]Why can't float/double MinValue/MaxValue fit inside a decimal?
考虑以下代码:float value = float.MinValue; decimal dec = (decimal) value; 未处理的异常。 System.OverflowException:对于 Decimal,值太大或太小。 这同样适用于float.MinValue 、 floa ...