问题标签 [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 投票
1 回答
582 浏览

floating-point - 减少尾数位宽

好吧,我感到很尴尬,我自己不能得到这个,但是..
我怎样才能减少浮点数的尾数(和指数)位?


我正在训练一个(卷积)人工神经网络(我正在 FPGA 上实现它),我想研究尾数(和指数)位宽与 CPU 上的测试(和训练)精度之间的关系(和图形处理器)。下一步是将我的浮点数转换为定点表示(这就是我在 FPGA 上使用的),然后看看情况如何。

其他人已经进行了类似的研究([Tong, Rutenbar and Nagle (1998)] 和 [Leeser and Zhao (2003)]),因此应该有一种方法可以做到这一点,尽管“如何”还没有我清楚。

最后一点,我在 Lua 中编程,但我可以很容易地将 C 的东西包含ffi在 LuaJIT 中。

0 投票
1 回答
453 浏览

binary - 二进制 -> 有符号尾数

如何在有符号尾数中写入 0xFA。我将其转换为二进制 = 1111_1010。不知道从这里去哪里。

问题是“如果寄存器文件总共有 8 位宽度,请在有符号尾数中写入以下内容。”

此外,对带符号尾数的解释会很棒!

0 投票
2 回答
147 浏览

python - 浮点表示的模拟

我正在学习 Python 入门课程,我们有一个作业要求我们模拟浮点数的存储方式。

基本上,我们必须演示 5 位尾数。例如,您输入123,它必须以12300. 如果您输入12345678,它必须以12345. 如何才能做到这一点?有这个功能还是只是一个格式化问题?请记住,这是一门入门课程,我们不允许使用任何外部库。

0 投票
1 回答
147 浏览

c - printf 中的尾数值略有偏差

我对 C 语言完全陌生。试图在这里接机。希望你们能帮助我一点,如果我问了一些愚蠢的问题,请提前道歉,但我真的找不到这个具体问题的任何答案。也对不起我的英语。

无论如何,下面是我的代码,对我来说没问题。

printf 结果显示

但是当我增加 Crit_Dmg 和 Magic_Dmg 值更高时,尾数根据我的输入不准确......

例如我改为

printf 似乎如下

为什么尾数没有按照我的输入出现?我如何解决它?

0 投票
3 回答
598 浏览

java - Java/Android - 将 DecimalFormat 设置为仅显示尾数

我只想显示数字的尾数,而与指数无关。

12.4e-6 after formatting => 12.4

12.4e-12 after formatting => 12.4

手动进行计算是微不足道的。但问题是我需要使用 DeciamalFormat 类,因为我必须将它作为参数提供给另一个类。我试过这个:

如果我删除 E 符号,则不会计算尾数。有什么办法DecimalFormat只用这个来显示mantissa吗?

0 投票
1 回答
3309 浏览

c - 如何从 32 位浮点数中提取符号、尾数和指数

所以我得到了一个任务,我必须从 uint32_t 给出的浮点数中提取符号、指数和尾数。我必须在 C 中做到这一点,正如你所料,我该怎么做?

对于符号,我会搜索 MSB(最高有效位,因为它告诉我我的数字是正数还是负数,取决于它是 0 还是 1)

或者让我们直接进入我的想法,我可以将我的 32 位数字“拼接”成三个部分吗?

获取 msb/sign 的 1 位,然后是代表指数的 1 个字节,最后是尾数的 23 位

它可能不会那样工作,但你能给我一个提示/解决方案吗?我知道freexp,但我想要一个替代方案,在那里我学到了更多的C。谢谢。

0 投票
2 回答
56 浏览

floating-point - 负数的浮点表示

使用....

尾数的符号位 二进制补码中的 8 位指数 23 位尾数

编码如下:-28.625

有人可以告诉我最简单的方法吗...讲师不是很有帮助!

0 投票
1 回答
69 浏览

floating-point - 大整数到单点浮点数

我试图将一个大整数转换为 32 位单精度浮点数,但我无法解决我遇到的这个问题。如果大整数的二进制表示大于 23 位尾数怎么办。

例如,取整数 1,671,277,287

其二进制表示为 01100011100111011010101011100111

我的理解是,您将小数位向左移动,直到它的左侧只有 1 位,如下所示:

01.100011100111011010101011100111

我的问题是这个尾数是 30 位,单精度浮点数只有 23 位尾数的空间。我试图寻找这个特定的问题,但我没有找到任何东西。我将如何解决这个问题?

编辑:找出一些信息,以防其他人有这个问题。单精度浮点的默认舍入是“四舍五入到最接近,与偶数相关”。另一个 StackOverflow 评论了如何轻松地做到这一点。

StackOverflow 关于四舍五入的帖子

0 投票
1 回答
622 浏览

c++ - 如何将双精度转换为 64 位 ieee754?

我有这个代码:

我想获得双精度的 64 表示。

我需要改变什么?

0 投票
3 回答
1403 浏览

c++ - 如何在c ++中对double或float的尾数和指数部分进行操作(快速)?

我使用 c++ 来计算各种类型的特殊函数(例如 Lambert 函数、求值反转的迭代方法等)。在许多情况下,直接使用尾数和指数显然有更好的方法。

我找到了很多如何提取尾数和指数部分的答案,但是所有这些都只是“计算速度不是很有效的学术案例”,对我来说有点无用(我使用尾数和指数操作的动机是改进计算速度)。有时我需要调用一些特定的函数大约十亿次(非常昂贵的计算),所以每次保存的计算工作都很好。并且使用将尾数作为双精度返回的“freexp”不是很合适。

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

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

2)如何将整个尾数读入浮点/双精度的整数/字节?

3) 与 1)、2) 相同的问题。

4) 写作题与 1)、2)、3) 相同。

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