问题标签 [mantissa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
372 浏览

c++ - 从 C++ 中的符号、指数和尾数部分创建 NaN 浮点值

我需要在 C++ 中创建一个具有 NaN 值的浮点变量。我还需要能够看到哪个 NaN 的值更大。要比较 NaN,您需要查看浮点数的尾数部分。使用标准创建 NaN

方法导致 NaN 具有相同的尾数,即使 nanf 函数中使用了不同的字符串。通过从位模式的基本部分创建 NaN 应该证明可以提供不同的尾数,因此可以对尾数的大小执行简单的排序。

0 投票
1 回答
1573 浏览

floating-point - 将浮点数转换为其二进制表示时遇到问题

以下是我正在尝试遵循的教程。

当试图将数字转换回其二进制表示时,我弄错了。有人可以告诉我我做错了什么吗?

二进制表示:

自从..

指数为..

因此二进制表示应该是:

但为什么我会以同样的方式转换 639.6875 得到正确答案?:

整数值的表示:

十进制值的表示:

合并和归一化:

归一化时,我们把基数直接放在第一个 1 的右边吧?将 127 偏置为指数,127+9 = 136:

二进制表示:

0 投票
1 回答
653 浏览

export - netezza 双精度输出截断值

我注意到 nzsql 和 'nzunload' 只是截断双精度列的尾数值。这是问题:

从表1中选择tot_amt

而当我使用 Aginity 等其他客户端进行数据分析时 - 我得到的输出是

我还发现当 netezza 在 3 个尾数位后遇到 0 时会发生“截断”。

我们正在尝试将此数据库迁移到 oracle,由于这个问题,整个项目都被搞砸了,客户不信任我们的迁移脚本。有没有人遇到过这个问题?唯一的解决方法,即使是 frmo IBM 工程师也是强制转换它TO_CHAR( '999,999.999', col )如果我必须为数十亿行执行此操作,这将杀死卸载脚本。

0 投票
1 回答
170 浏览

rounding - 带有 LSB 错误的浮点加法

我正在用 Verilog 实现一个硬件双精度加法器。在验证阶段,当我将硬件输出与 MATLAB(或 C)双精度加法输出进行比较时,我发现 LSB 不匹配的一些奇怪情况,考虑到我使用相同的舍入模式(舍入到最接近的偶数) . 我的问题是关于 C 计算的准确性,它在进行舍入时是否真的准确,还是仅限于某些 CPU 架构(32 位或 64 位)?

这是一个例子,

A = 0x62a5a1c59bd10037 = 1.5944933396238637e+167

B = 0x62724bc40659bf0c = 1.685748657333889e+166 = 0.1685748657333889e+167

正确的输出(只需手动添加上述实数)

= 1.7630682053572526e+167 = 0x62a7eb3e1c9c3819(这与我的硬件匹配)

当我尝试在 C 中做 A+B 时,结果等于

= 1.7630682053572525e+167 = 0x62a7eb3e1c9c3818

当我尝试使用此应用程序检查中间操作时 http://www.ecs.umass.edu/ece/koren/arith/simulator/FPAdd/

我可以从尾数加法中看到 C 没有正确进行舍入(舍入到最接近的偶数)。在这种情况下,尾数应通过加一来四舍五入。知道为什么会这样吗?

0 投票
1 回答
2096 浏览

matlab - 在matlab中计算科学数的尾数和指数

我想在 mat lab 中找到一个数字的尾数和指数。有没有计算它们的函数或方法?

例如,当数字为 0.0005 时,此函数返回 5 表示尾数,-4 表示指数

谢谢你

0 投票
2 回答
49 浏览

python - 如何扩展/附加具有来自变量的多个索引的列表?

我正在尝试创建一个 binary32 浮点到十进制转换器,它由八位指数和二十四位尾数组成。我有exponent = []mantissa = []。如果用户输入我想要添加010000111111101101000000000000000索引一到八,value并添加exponent索引九到三十二。我目前有以下意大利面条代码来执行此操作:valuemantissa

因此,与其单独附加每个索引,我想知道是否有一种方法可以将它们全部添加到列表中。我尝试了以下extend方法:

exponent.extend(value[1, 2, 3, 4, 5, 6, 7, 8])也没有逗号

exponent.extend(value[1], value[2], value[3], value[4], value[5], value[6], value[7], value[8], )然后我意识到extend只需要一个论点。

exponent.extend(value[1-8])这似乎减去了一和八。

我试过exponent = {}哪个是我相信的系列?然后尝试exponent.update用逗号跟随多个索引。然后告诉我它只支持一个论点。

关于如何将多个索引添加value到列表中的任何其他建议?

0 投票
0 回答
78 浏览

floating-point - 乘法顺序改变结果。为什么?

我们目前正在试验浮点数,并遇到了 Fortran 中的一个程序,我们无法弄清楚会发生什么。

问题:为什么会产生不同的结果?

我们认为这可能与浮点数(尾数、指数等)的表示模型以及计算机如何对数字进行四舍五入有关,但我们不确定。

有人可以详细解释这是如何工作的吗?

0 投票
1 回答
796 浏览

exponent - 尾数和指数 - 带小数的负数(超过 0.5)

这是我的问题。我正在做一些工作,看到两个不同的答案。我正在使用计算器(在线)来检查我的答案,它与我应该得到的答案相冲突,我需要看看哪个是正确的。问题是:
-6.25
我计算出 6.25,然后取二进制补码。
6.25 --> 0110.001
尾数 --> 0.11000100000 指数--> 0011

我的答案:二进制补码 1.00111100000 指数--> 0011

我应该得到的答案是:尾数 --> 1.11000100000 指数 --> 0011
你所做的只是在正尾数前面加一个 1 似乎没有意义。我知道,如果符号位为 0,则为正数,而 1 为负数。请让我知道哪个是正确的,或者如果其中任何一个是正确的,请告诉我?谢谢。只是想在继续之前确保我做对了。

0 投票
2 回答
3396 浏览

python-2.7 - 如何使用 matplotlib colorbar 中的偏移表示法更改尾数的位数

我在 matplotlib 中有一个等高线图,它使用由创建的颜色条

带偏移的颜色条

如何更改在“。”之后仅显示 2 位数字的颜色条刻度标签(指数尾数)而不是 3(保持偏移符号)?有可能还是我必须手动设置刻度?谢谢

我尝试使用 str 格式化程序

到目前为止,但这并没有给我想要的结果。

0 投票
1 回答
495 浏览

c# - C#:指数格式说明符

我有一个双数:

我需要将其显示为

7.7725e-2

当我尝试使用它时:

它返回

7.7725e-002

怎么说尾数应该有一个符号而不是 3 ?

像这样的格式:

返回

5.0000e2

代替

5.0000e+2