Questions tagged «floating-point»

2
为什么C的void类型不同于Empty / Bottom类型?
维基百科以及我发现的其他来源都将C的void类型列为单位类型,而不是空类型。我觉得这很混乱,因为在我看来,它void更适合于空/底类型的定义。 void据我所知,没有价值观存在。 返回类型为void的函数指定该函数不返回任何内容,因此只能执行某些副作用。 类型的指针void*是所有其他指针类型的子类型。同样,void*在C中进行来回转换是隐式的。 我不确定最后一点是否可以作为void空类型的参数,void*或多或少是与无关的特例void。 另一方面,void它本身不是所有其他类型的子类型,据我所知,这是将类型作为底部类型的要求。
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

7
为什么浮点表示使用符号位而不是2的补码来表示负数
考虑一个定点表示形式,可以将其视为浮点数的退化情况。负数完全可以使用2的补码。但是,为什么浮点数需要一个符号位,尾数位不应该使用2的补码? 同样,为什么指数位使用偏差而不是有符号的幅度表示(类似于尾数位)或2的补码表示? 更新:对不起,如果我不清楚。我一直在寻找浮点表示形式是如何成形的。如果在替代方案之间没有强大的实现权衡,那么有人可以解释浮点表示的历史方面吗?

4
浮动误差导致的不平等
至少在Java中,如果我编写以下代码: float a = 1000.0F; float b = 0.00004F; float c = a + b + b; float d = b + b + a; boolean e = c == d; 价值将。我认为这是由于以下事实造成的:在精确表示数字的方式中,浮点数非常有限。但我不明白为什么只是改变的位置可能会导致这种不平等。ËËeF一升小号Ëfalsefalse一种aa 我在第3行和第4行中将 s都减小为1,但是的值变为:bbbËee牛逼[R ü ètruËtrue float a = 1000.0F; float b = 0.00004F; float c = a + b; …

1
浮点舍入
是否可以将IEEE-754浮点数<1(即由随机数生成器生成,该随机数生成器生成大于等于0.0且小于1.0的数字)乘以某个整数(以浮点形式)是否等于或大于一个整数舍入该整数? 即 double r = random() ; // generates a floating point number in [0, 1) double n = some_int ; if (n * r >= n) { print 'Rounding Happened' ; } 这可能等同于说是否存在N和R,使得如果R是小于1的最大数字(可以在IEEE-754中表示),则N * R> = N(其中*和> =是合适的IEEE- 754个运营商) 这来自于这个问题,基于此文档和PostgreSQL的随机函数


9
表示实数而不会丢失精度
当前浮点(ANSI C浮点数,双精度)允许表示实数的近似值。 有没有办法表示实数而没有错误? 这是我的一个主意,绝非完美。 例如,1/3是0.33333333 ...(以10为底)或o.01010101 ...(以2为底),也是0.1(以3为底) 是实现这个“结构”的好主意: base, mantissa, exponent 所以1/3可能是3 ^ -1 {[11] = base 3, [1.0] mantissa, [-1] exponent} 还有其他想法吗?

1
为什么浮点模量精度很重要?
当前,大多数Smalltalk方言都实现了幼稚的不精确浮动模数(fmod / remainder)。 我刚刚进行了更改,以提高Squeak / Pharo并最终提高了其他Smalltalk对标准(IEEE 754,ISO / IEC 10967)的遵守程度,就像我对其他最新浮点运算所做的那样。 但是,对于采用这些更改,我希望遵守标准不足以说服我的同龄人,因此解释一下在什么情况下这种准确性确实很重要将对我有很大帮助。到目前为止,我自己找不到一个很好的例子。 这里有谁知道为什么/何时/何地(IOW在哪种算法中)如此精确的模数很重要吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.