问题标签 [single-precision]
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.
python - double precision and single precision floating point numbers?
I was wondering why double precision and single precision numbers are sometimes equal and sometimes not. For example when I have the following they are not equal:
but the following are equal:
I understand why the first set of x and y is not equal but I am not quite sure as to why the second set is equal.
ieee-754 - 为什么 IEEE 754 单精度的指数范围是 -127 到 128 而不是 -128 到 127
在 IEEE 754 中,单精度 8 位指数范围是从 -127 到 128 但不是从 -128 到 127
floating-point - 您如何确定 32 位 IEEE 浮点值的集合 S 中有多少个整数
有人可以向我解释它到底在说什么吗?我知道这基本上意味着它是具有 1 位符号、8 位指数和 23 位尾数的单精度。答案不应该只是 2 * 2^8-2 * 2^23 吗?
编辑:是否 2 * 2^8-2 * 2^23 确定所有 32 位 IEEE 浮点值
c - 将字节重新解释为 C 中的浮点数(IEEE 754 单精度二进制)
我想在 C 中将 4 个字节重新解释为 IEEE 754 单精度二进制。
为了获得代表 的字节float
,我使用了:
- num 是一个 uint32_t。
- aux[] 是 int[4]。
要将字节重新解释为 a float
,我正在尝试:
在第二种情况下,“Buff”上没有任何内容
- buff是一个
float
。
在第二种情况下我做错了什么?
c - 使用 C 的 IEEE 754 单精度 IEEE 754 代码的十进制
我们在课堂上有一个作业,使用 c 从十进制转换为单精度,我完全迷失了。
这是作业:
本实验的最后一部分涉及编写一个简短的 c 算法。每个学生都必须创建一个程序,该程序将科学记数法浮点数作为输入并以二进制和十六进制打印它的 IEE754 单精度值。
程序的输出必须等于以下内容:“引入十进制浮点数(科学记数法):十进制浮点数 1.234500e-04 是十六进制的 3901725B(IEEE 754)。“</p>
到目前为止我们学到的#include 是:stdio.h、math.h 和 string.h,所以我认为我们不允许使用任何其他包含。此外,我们还没有学到struct
或union
或其中任何一个,因为我在其他示例中看到了这些,但我什么都不懂。
如果有人可以指导我完成此代码,我将不胜感激!
c - 浮点比较
我无法理解为什么输出显示“它更大”。
我得到0.4转换为二进制表示是0x3ECCCCCD,即4.000000059604644775390625E-1。疑问是如果 f 存储这个四舍五入的值,为什么比较中的 0.4 是准确的。如果 f 和 0.4 都四舍五入,则输出应该是“它相等”。
我尝试使用 f = 0.5,它显示“它是相等的”。
当 f=0.9 时,它显示“它更少”。
请注意,根本没有算术。
fortran - 不能用双精度变量或更高精度替换 Fortran 实变量
我正在使用生成如下值的已知代码(CAMB):
我想对生成的值更精确,如下所示:
这里产生数据的代码部分:
我尝试在上面代码开头的变量声明中进行以下修改:
1)第一次尝试:
但它不编译:
2)另外,我试过:
但同样的事情,没有编译成功
更新 1:
,-fmax-errors=1
我得到以下信息:
@Steve
除了with compiler option给出的解决方案之外-freal-4-real-8
,真的没有另一种解决方案可以直接包含在代码中,即我给出的部分吗?
更新 2:在 3 个相关子程序下方Transfer_GetMatterPowerS
,当尝试获得双精度时会产生错误Transfer_GetMatterPowerData
:Transfer_SaveMatterPower
matlab - uint8 和单个图像有什么区别?
我已经知道uint8
包含 0 到 255 (2 8 -1) 之间的强度值,并且单个包含 0 到 1 之间的值,它用于保存更大的值而不会破坏范围误差。但是,除此之外,还有其他区别吗?
imagesc((I/64)*64)
和imagesc((Is/64)*64)
, where I
isuint8
和Is
is和有什么不一样single
?
java - 为什么 Java 中浮点数(32 位)的指数是 -126 而不是 -128?
32 位标准:
1 位用于数字的正/负值。指数为 8 位,尾数为 24 位。
Exponent 8 位,即 1 * 2^7 + 1 * 2^6 + ... = 255 当最大 Exponent 为 127 时,最小 Exponent 应为 -128,因此 126 + 128 = 255。
但是为什么 Java 说最小指数是 -126?255 - (127+126)= 2,所以我们没有使用两个数字。
floating-point - 将 IEEE 单精度转换为十进制
如果 S = 0,E = 01110011,并且 F = 100101
E应该是115吧?如果是这样,那会使指数 -12 吗?
如果偏差为 127。