首页 文章
  • -1 votes
     answers
     views

    函数在Matlab中不起作用[关闭]

    我很惊讶为什么下面的代码不起作用 function [ x ] = generate2(N,m,A3) f1 = 100; f2 = 200; T = 1./f1; t = (0:(N*T/m):(N*T))'; %' q=randn(500,1); wn = randn(length(t),1); %zero mean variance 1 x = 20.*sin(2.*pi.*f1.*t+q)...
  • 193 votes
     answers
     views

    可以存储在double中的最大整数

    什么是最大的“非浮动”整数,可以存储在IEEE 754 double类型而不会丢失精度?
  • 0 votes
     answers
     views

    动态分配2维数组

    有谁知道第三行“Free(array)”的作用是什么?这里的数组只是数组第一个元素的地址(换句话说,指向int * right数组中第一个元素的指针)?为什么我们需要第三行来释放2D数组的“列”?我基本上记住/理解a是一个指针,意味着保存____的地址 . 这句话是否正确? 例如:int ** a; int * b; int c; b =&c = 4; a =&b;这是对的吗?谢谢!!! 另外,一...
  • -2 votes
     answers
     views

    选择double []数组中的值

    我有一个简单的问题,但作为初学者,我很难找到答案 . 所以我真的很感激一些帮助 . 我有两个double []数组(A和B),有10个值 . 还有一个简单的公式(P = A B temp(square)) . 一切都在循环中计算 . 这是代码: double[] arrayA = new double[] { 1.2 * Math.Pow(10, -3), 1.6 ...
  • 0 votes
     answers
     views

    C#Convert.ToDouble输入字符串在Windows服务中的格式不正确

    过去几周我一直在运行一个控制台应用程序而没有任何问题 . 但是,只要我将应用程序转换为Windows服务,我就会遇到错误,我使用Convert.ToDouble()函数将字符串转换为双精度数 . 在这里,我收到错误消息“输入字符串格式不正确” . 其他帖子主要是指使用文化信息,如Convert.ToDouble(string,CultureInfo.InvariantCulture) . 但是我的...
  • 1852 votes
     answers
     views

    .NET中的decimal,float和double之间的区别?

    .NET中的 decimal , float 和 double 有什么区别? 什么时候会有人使用其中一种?
  • 425 votes
     answers
     views

    如何很好地将浮动数字格式化为字符串而没有不必要的小数0?

    64位双精度可以精确地表示整数/ - 253 鉴于这一事实,我选择将double类型用作所有类型的单一类型,因为我的最大整数是无符号32位 . 但现在我必须打印这些伪整数,但问题是它们也与实际双打混合在一起 . 那么如何在Java中很好地打印这些双打? 我已经尝试了 String.format("%f", value) ,这很接近,除了我得到很多小值的尾随零 . 这是 %f...
  • 537 votes
     answers
     views

    为什么Math.round(0.49999999999999994)会返回1?

    在以下程序中,您可以看到每个稍微小于 .5 的值都向下舍入,但 0.5 除外 . for (int i = 10; i >= 0; i--) { long l = Double.doubleToLongBits(i + 0.5); double x; do { x = Double.longBitsToDouble(l); System...
  • 0 votes
     answers
     views

    使用mmap分配双2D数组

    我试图使用mmap创建/访问twi不同的(N 2)*(N 2)2D双精度数组,以便多个线程可以查看它们自己的部分并更改它,应用更改以便所有其他线程可以看到 . 这是我有的: int main(int argc, char *argv[]) { int N = atoi(argv[1]); int numProcs = atoi(argv[2]); int ARRAY_SI...
  • -1 votes
     answers
     views

    scanf正在收集错误的输入

    #include<stdio.h> int main(void) { double c; scanf("%f", &c); printf("%f", c); } 这是我试图编写的程序的一个漏洞,但是我对这个简单的问题也有同样的看法 . 当我运行它并输入“1.0”时,它打印出“0.007812”...
  • 280 votes
     answers
     views

    在swift中将double值舍入为x个小数位数

    谁能告诉我如何在Swift中将double值舍入到x个小数位? 我有: var totalWorkTimeInHours = (totalWorkTime/60/60) totalWorkTime 是第二个NSTimeInterval(double) . totalWorkTimeInHours 会给我一些时间,但它给了我这么长的精确数字的时间,例如1.543240952039 ...... 当...
  • 787 votes
     answers
     views

    十进制vs双! - 我应该使用哪一个?何时使用? [重复]

    这个问题在这里已有答案: When should I use double instead of decimal? 12个答案 我一直看到人们在C#中使用双打 . 我知道我读到某个地方,双打有时会失去精确度 . 我的问题是什么时候应该使用双倍,何时应该使用小数类型?哪种类型适合货币计算? (即超过1亿美元)
  • 1 votes
     answers
     views

    将long或BigInteger乘以double而不会损失精度

    我想将一个高精度整数(long或BigInteger)乘以一个小的double(考虑一些> 0和<1),并获得操作的精确算术值的算术舍入整数(long或BigInteger)作为结果 . 将double转换为整数不起作用,因为它的小数值会丢失 . 将整数转换为double,然后乘以并将结果转换回整数也不起作用,因为double不够精确 . 当然你可以争辩说,因为双操作数首先不够精确,所...
  • 114 votes
     answers
     views

    Android - 小数点后2位[重复]

    可能重复:将小数点后的两位有效数字舍入为2 我知道有很多关于如何围绕这种数字的例子 . 但有人可以告诉我如何圆形加倍,以获得我可以显示为字符串的值,并且总是有2位小数?
  • 3 votes
     answers
     views

    我疯了还是Math.Pow坏了?

    我使用了来自here的基本转换器并将其更改为使用ulong值,但是当转换大数字时,特别是高于16677181699666568的数字时,它返回的值不正确 . 我开始研究这个并发现Math.Pow(3,34)返回值16677181699666568,而实际上3 ^ 34是16677181699666569.这因此为我投入了一个扳手 . 我认为这只是Pow方法中双精度问题?我最简单的解决方法就是创建我...
  • 6 votes
     answers
     views

    Java中的双重增量[重复]

    可能重复:如何在Java中以0.1f的增量在0.1f和1.0f之间进行迭代? Part of my program needs to use values inside a while loop as: 0.1 0.2 0.3 ... 0.9 so I need to provide them inside that loop. Here is the code: double x = 0.0...
  • 3 votes
     answers
     views

    为什么ASP.NET DropDownList控件需要两次单击才能在Internet Explorer中展开

    我有一个ASP.NET DropDownList控件,它可以呈现在页面上的下拉列表中(选择HTML标记) . 出于某种原因,当我在Internet Explorer中时,需要两次点击才能打开它并查看选项,这只是最终用户的额外点击 . 它在Google Chrome,Mozilla Firefox和Safari中运行良好 - 我只需点击一次即可查看选项的选项 . 为什么它在IE中无法正常工作?更重要...
  • 7 votes
     answers
     views

    如何将float转换为double(都存储在IEEE-754表示中)而不会丢失精度?

    我的意思是,例如,我有以下编号用IEEE-754单精度编码: "0100 0001 1011 1110 1100 1100 1100 1100" (approximately 23.85 in decimal) 上面的二进制数存储在文字字符串中 . 问题是,如何将此字符串转换为IEEE-754双精度表示(有点像下面的那个,但值不一样),没有丢失精度? "0100 ...
  • 6 votes
     answers
     views

    IEEE 754 / iec 559

    IEEE 754浮点格式是否跨平台定义良好?在位格式和字节顺序方面? 我愿意在我的代码中添加以下内容(初始版本): static_assert(std::numeric_limits<float>::is_iec559, "Only support IEC 559 (IEEE 754) float"); static_assert(sizeof(float) * C...
  • 5 votes
     answers
     views

    如何检查是否使用了IEEE 754单精度(32位)浮点表示?

    我想在目标板上测试以下内容: 'float'是用IEEE 754单精度(32位)浮点变量实现的吗? 'double'是用IEEE 754双精度(64位)浮点变量实现的吗? 有什么方法可以用简单的C程序测试它 .
  • 1 votes
     answers
     views

    在VBA中从IEEE-754 double中提取尾数,指数和符号数据

    如何从VBA中的IEEE-754 64位(双)浮点数中提取尾数,指数和符号数据?谢谢 Edit (约翰科尔曼评论之后) . 在发布原始问题之前,我已经四处寻找解决方案,并且只能找到如何在C中执行此操作(例如,使用具有位字段的结构) . 无法运行(即AND,OR,NOT,XOR),但这似乎没有给出预期的结果 . 例如,以单精度IEEE 32位浮点表示的1表示为 0 01111111 00000000...
  • 1 votes
     answers
     views

    IEEE 754浮点 - 为什么这有效?

    鉴于以下内容: .1 + .2 === .3 // false 1 * .3 === .3 // true ...前者不会导致 0.3 因为一个或多个操作数无法在IEEE 754双精度浮点中精确表示,因此结果差不多但不完全 0.3 . 为什么后者返回 true . 是因为 0.3 恰好可以在IEEE 754双精度浮点中表示?
  • 7 votes
     answers
     views

    双精度到十进制,15位后没有舍入

    将“高”精度Double转换为Decimal时,由于Rounding,我将使用Convert.ToDecimal或转换为(Decimal)而失去精度 . 示例: double d = -0.99999999999999956d; decimal result = Convert.ToDecimal(d); // Result = -1 decimal result = (Decimal)(d); ...
  • 5 votes
     answers
     views

    C / C转换为双精度到固定点,最小非零数字

    多个定点十进制数映射到相同的double值 . 例如: double d1 = 132.24; double d2 = 132.24000000000001; d1和d2具有相同的二进制值 . 当使用具有14位精度的ostream将d1(或d2,它们具有相同的值)转换为字符串时,它将转换为:132.24000000000001 . 是否有支持从 double->string 转换的方式/...
  • 1 votes
     answers
     views

    使用具有所有小数位的联合将char数组转换为double

    我正在将一个项目从Java移植到C.我需要将一个字节(= C中的char)数组转换为double . 我在Stack Overflow上找到了一个使用联合的解决方案(How to convert a byte array into double in C?) . 我的代码到目前为止: #include <stdio.h> double getDouble(char array[], i...
  • 2 votes
     answers
     views

    将计算出的双精度数转换为十进制可以校正精度误差吗?

    我正在开发一个计算ppm的应用程序并检查它是否大于某个阈值 . 我最近发现了浮点计算的精度误差 . double threshold = 1000.0; double Mass = 0.000814; double PartMass = 0.814; double IncorrectPPM = Mass/PartMass * 1000000; double CorrectedPPM = (doub...
  • 2 votes
     answers
     views

    计算sinh的泰勒级数

    该函数使用Taylor系列中的以下开发计算 sinh(x) 的值: 我想计算sinh(3)= 10.01787的值,但函数输出9.我也得到这个警告: 1> main.c(24):警告C4244:'function':从'double'转换为'int',可能会丢失数据 这是我的代码: int fattoriale(int n) { int risultato = 1; i...
  • 243 votes
     answers
     views

    我什么时候应该使用double而不是decimal?

    我可以说使用 double (或 float )而不是 decimal 有三个好处: 使用较少的内存 . 更快,因为处理器本身支持浮点数学运算 . 可以代表更大范围的数字 . 但这些优势似乎只适用于计算密集型操作,例如建模软件中的操作 . 当然,在需要精确度时,不应使用双精度数,例如财务计算 . 那么在"normal"应用程序中选择 double (或 floa...
  • 220 votes
     answers
     views

    Double vs. BigDecimal?

    我必须计算一些浮点变量,我的同事建议我使用 BigDecimal 而不是 double ,因为它会更精确 . 但我想知道它是什么以及如何充分利用 BigDecimal ?
  • -3 votes
     answers
     views

    BigDecimal divide方法要么返回0还是ArithmeticException?

    当我尝试使用该方法划分BigDecimals时: divide(divisor, RoundingMode.HALF_UP) 它返回0 但如果我这样做没有这样的舍入模式: divide(divisor) 我得到一个ArithmeticException 我不在乎这个数字是不是精确的十进制表示 . 如何在不获得0或异常的情况下划分BigDecimals?

热门问题