long-double相关内容
前段时间我写了一个程序,它使用了一些阶乘函数.我使用 long double 数据类型来支持“相对"大数字. 现在,我从代码块更改为 Visualstudio 2010,我想知道为什么我的程序不再工作,直到经过一些研究后我意识到 MS 已经放弃了 long double 数据类型.这有什么特别的原因吗?对我来说,这看起来像是技术方面的倒退. 有什么替代品吗?(我也会对 boost 库中
..
我知道各种数据类型的大小可能会根据我所在的系统而变化. 我使用 XP 32bits,并在 C++ 中使用 sizeof() 运算符,似乎 long double 是 12 个字节,而 double是 8. 然而,大多数主要资料表明 long double 是 8 个字节,因此范围与 double 相同. 我怎么有 12 个字节?如果 long double 确实是 12 个字节,
..
所以,我正在做一个 C++ 项目.我有一个 long double 类型的 var 并为其分配了一个类似“1.02"的值 然后,我尝试用cout打印出来,结果是:-0 我已经尝试使用 setprecision 并且我在谷歌搜索中发现了所有问题. 对此有什么解决方案? 示例代码: #include #include 使用命名空间标准;int main(int argc, c
..
我正在 GCC/x86 中寻找关于 long double 和 __float128 的详细信息(更多是出于好奇而不是因为实际问题). 可能很少有人会需要这些(我第一次真的需要double),但我想它仍然值得(和有趣)了解您的工具箱中有什么以及它是关于什么的. 有鉴于此,请原谅我有些悬而未决的问题: 有人能解释一下这些类型的实现原理和预期用途吗,也可以相互比较一下?例如,它们是“
..
我在 Windows 上使用带有 Netbeans 的最新 gcc.为什么 long double 不起作用?printf 说明符 %lf 错了吗? 代码: #include int main(void){浮船 = 32000.0;双重教唆 = 5.32e-5;长期双底= 5.32e-5;printf("%f 可以写成 %e\n", aboat, aboat);printf("%f 可以写
..
我是新的 C 程序员,我正在做一个学校项目,我必须在其中估算值或 pi.我的教授说我们必须使用 long double 声明所有整数项.控制台显示我向用户询问给定函数的近似 pi 的项数.我输入 1 作为项数,但代码返回 -0.00000000 而不是 4.00000000. #include #include long double approx1(int 术语){长双 pi
..
我正在将算法从C移植到Go.我有些困惑.这是C函数: void gauss_gen_cdf(uint64_t cdf [],长整数sigma,整数n){我long double s,d,e;//计算...对于(i = 1; i
..
对于初学者来说,这个问题听起来很像,但是当我发现自己以为是初学者或者我的伴侣缺少某些东西时: int main(){cout
..
当我运行以下代码时: #include int main() { int i = 0; volatile long double sum = 0; for (i = 1; i
..
具体来说,我谈论的是x87 PC架构和C编译器. 我正在编写自己的解释器,而double数据类型背后的推理使我感到困惑.特别是在效率方面.有人可以解释为什么C选择了64位double而不是硬件本机的80位double吗?以及为什么硬件没有设置在80位的double上,因为它没有对齐?每种性能都有什么影响? 我想使用80位的double作为默认数字类型.但是编译器开发人员的选择让我担心,这不是
..
在MSVC win32/win64中从扩展精度浮点数(80位值,在某些编译器中也称为long double)到双精度(64位)转换的最可移植,最“正确"的方法是什么? /p> MSVC当前(截至2010年)假定long double是double的同义词. 我可能可以在内联汇编中编写fld/fstp汇编程序对,但是内联汇编不适用于MSVC中的win64代码.我是否需要将此汇编代码移动到单独
..
用向量替换所有 Eigen :: MatrixXd s和 Eigen :: VectorXd s的最简单方法是什么和具有长双精度数元素的矩阵? 我的代码中的每个基本浮点变量的类型都是 long double 。另外,每次使用矩阵或向量时,我都会使用以下typedef。 typedef Eigen :: VectorXd Vec; typedef Eigen :: MatrixXd
..
来自 https://en.wikipedia.org/wiki/Long_double : 在C ++中, long double 指的是浮点数据类型,其精度通常比double-精确。但是,与C ++的其他浮点类型一样,它不一定映射到IEEE格式。 ... 对于GNU C编译器, long double 在x86处理器上具有80位扩展精度,而与该类型所使用的物理存储无关(可以为
..
我遇到以下错误: In function 'main': [Warning] unknown conversion type character 'L' in format [-Wformat=] [Warning] too many arguments for format [-Wformat-extra-args] In function 'error_user': [Warning]
..
我有一个long double常量,我将其设置为const或not-const.它比我的测试工作站上的long double的精度(19位)长(40位). 当我打印出来时,它不再以19位精度显示,而是以16位精度显示. 这是我正在测试的代码: #include #include #include #include
..
早上好 我正在从FITS文件中读取两个数字(代表单个数字的整数和浮点部分),将它们转换为长双精度数(在我的机器中为128位),然后将其求和. 结果并不像我预期的那样使用128位浮点数.这是代码: a_int = np.longdouble(read_header_key(fits_file, 'I')) print "I %.25f" % a_int, type(a_int) a
..
我正在尝试在我的Python代码中使用np.longdouble dtype,并试图使用NumPy来处理从使用Cython编译的C模块中获得的长双精度. 假设我这样做: import numpy as np print np.finfo(np.longdouble) Machine parameters for float128 ---------------------------
..
所以,我正在从事C ++项目.我有一个long double类型的var,并为其分配了一个值,例如"1.02" 然后,我尝试使用cout打印它,结果是:-0 我已经尝试使用setprecision,并且发现了所有问题. 对此有什么解决方案? 示例代码: #include #include using namespace std
..
我在GCC / x86中寻找有关 long double 和 __ float128 的详细信息(更多的好奇心而不是因为实际的问题)。 很少有人会需要这些东西(我第一次只是真正的 需要一个 double ),但我想知道你在工具箱里有什么以及它是怎么回事仍然值得(也很有趣)。 有鉴于此,请原谅我有些开放性的问题: 有人可以解释实施的基本原理和预期用法这些类型,也是相互比较的?例如,
..
使用i686-apple-darwin10-g ++-4.2.1在Mac OS X 10.6.2,Intel上编译并使用-arch x86_64标记进行编译,但我注意到,尽管... std :: numeric_limits :: max_exponent10 = 4932 ...正如预期的那样,当一个long double被实际设置为一个指
..