问题标签 [exponent]
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.
javascript - 你能比 O(log n) 快 10 倍吗?
我知道在大多数情况下取幂是 O(log n) 或更糟,但我在试图理解数字是如何表示自己时迷失了方向。以 JavaScript 为例,因为它有多种原生数字格式:
在内部,它们最终不都被存储和操作为存储在内存中的二进制值吗?如果是这样,机器是否能够像存储八进制一样快地存储十进制和科学记数法表示?
因此,您会期望+("1E" + n)
比 更快Math.pow(10, n)
吗?
这个问题主要是关于 1E(n) 是如何工作的,但是在尝试自己思考答案时,我对如何首先解析和存储数字变得更加好奇。我将不胜感激您能提供的任何解释。
ruby - 在 Fixnum 中进行类型转换 ** Fixnum
在ruby-doc中,它说<Fixnum> ** <Numeric>
可能是分数,并给出了示例:
但在我的 irb 上,它有时会给出如下Rational
指数的答案-1
:
看起来 ruby-doc 不准确,并且 ruby 尝试Rational
在可能的情况下进行类型转换,但我不完全确定。当基数和指数都是 时,这里的确切类型转换规则是Fixnum
什么?我对 Ruby 1.9.3 特别感兴趣,但是不同版本的结果是否不同?
c++ - 为什么这个函数不超过值 2^31?
幂函数(用 C++ 编写)...
现在我做一些输出测试......
输出:
好吧,长期回落到 32 位大小(而不是保持为 64 位)似乎存在一些问题。我想知道为什么这不起作用,但如果我使用该long long
类型,一切正常。
一些额外的信息:
我正在使用 C++ 和编译器 MinGW
我正在运行 64 位操作系统(Windows 7)
更新:
你们真棒!从来没想过会发生这样的事情。
我刚刚检查了一些使用的任意 PDT sizeof
,这就是我发现的......
输出:
所以,它看起来像我的long
,int
都是 32 位大小的。更多玩弄表明 intmax_t 类型也是 64 位的。实际上,每个 PDT 的上限为 64 位,所以如果我需要表示一个 128 位整数,c++ 是否有一个内置类(类似于BigInteger
Java 中的东西)?
javascript - Javascript 中非整数幂的负数
我正在编写一个必须在某一时刻执行类似操作的脚本:Math.pow(-2,1.5)
. 结果应该大约是 -2.82843,但是 Javascript 会返回NaN
. (我在 Google Chrome 17 和 Mozilla Firefox 11 中都尝试过。)如果指数是整数,例如 in Math.pow(-2,3)
,那么 Javascript 将返回正确答案,在本例中为 -8。正数也正确地提升到非整数幂;Math.pow(2,1.5)
计算结果约为 2.8284271247461903。有什么方法可以让 Javascript 计算负数到非整数幂的值?
c# - 将尾数和指数转换为双精度
在一个非常高性能的应用程序中,我们发现 CPU 计算长算法的速度明显快于双精度数。但是,在我们的系统中,我们确定我们永远不需要超过 9 位小数的精度。所以我们使用 longs 来理解所有精度为 9 点的浮点运算。
然而,在系统的某些部分,由于使用双打的可读性,它更方便。因此,我们必须将假定小数点后 9 位的 long 值转换为 double。
我们发现简单地取长并除以 10 的 9 次方或乘以 1 除以 10 的 9 次方给出了双精度的不精确表示。
为了解决这个问题,我们使用Math.Round(value,9)
来给出精确的值。
但是,Math.Round()
性能非常缓慢。
所以我们目前的想法是直接将尾数和指数转换为双精度的二进制格式,因为这样,舍入将为零。
我们已经在网上学习了如何检查双精度位以获取尾数和指数,但是弄清楚如何反转它以获取尾数和指数并通过使用位来制造双精度是令人困惑的。
有什么建议么?
java - 如何找到最接近给定输入的 2^N 值?
我必须以某种方式保持程序运行,直到指数函数的输出超过输入值,然后将其与指数函数的先前输出进行比较。即使只是伪代码,我该怎么做?
math - x power log to base (1/x) 是否有简化?
x^(log base (1/x) of N) 是否有简化?
java - 确定num是否是java中的2的幂?
可能重复:
如何检查一个数字是否是 2 的幂
如果传入值 2、4、8、32、64 等,我如何编写一个返回 true 的方法?
python - 将指数转换为浮点数
这是我的代码,试图将行的第二个字段从指数转换为浮点数。
但是,程序因以下错误而停止:
有谁知道原因?
perl - 在perl中对矩阵求幂
我正在寻找一个使用 perl 对矩阵求幂的函数。我已经搜索了 CPAN,但似乎找不到任何合适的东西。有谁知道合适的包装或简单的功能?
例如,对于以下矩阵 ($m):
e^m ~=