草庐IT

integer-math

全部标签

c# - 161803398 是一个 'Special' 的数字吗? Math.Random() 内部

我怀疑答案是“因为数学”,但我希望有人能在基本层面提供更多见解...我今天在BCL源代码中翻来覆去,看看我以前使用的一些类实际上是如何实现的。我以前从未想过如何生成(伪)随机数,所以我决定看看它是如何完成的。完整来源:http://referencesource.microsoft.com/#mscorlib/system/random.cs#29privateconstintMSEED=161803398;每次为Random()类播种时都会使用此MSEED值。无论如何,我看到了这个“神奇的数字”——161803398——我完全不明白为什么选择这个数字。它不是素数或2的幂。它不是看起来

javascript - 为什么 math.max() 在整数数组上返回 NaN?

我试图从一个简单数组中获取最大数:data=[4,2,6,1,3,7,5,3];alert(Math.max(data));我读到即使数组中的一个值无法转换为数字,它也会返回NaN,但在我的例子中,我已经用进行了双重检查typeof以确保它们都是数字,那么我的问题是什么? 最佳答案 您的代码不起作用的原因是因为Math.max期望每个参数都是有效数字。这在documentation中指示如下:Ifatleastoneofargumentscannotbeconvertedtoanumber,theresultisNaN.在您的实例中

javascript - Math.min.apply(0, array) - 为什么?

我刚刚浏览了一些JavaScript代码(Raphaël.js)并遇到了以下行(略微翻译):Math.min.apply(0,x)其中x是一个数组。你到底为什么要这样做?行为似乎是“从数组x中取最小值。” 最佳答案 我在发布自己的问题时意识到了答案:这是在JavaScript中获取数组x最小值的最简洁的方法。第一个论点完全是任意的;我发现0令人困惑,因为代码直觉上意味着“取0和x的最小值”,但事实并非如此。使用Math对象对人类可读性更有意义,但Raphael.js作者痴迷于缩小,0缩短了三个字节。参见http://ejohn.or

javascript - 将javascript Integer转换为字节数组并返回

functionintFromBytes(x){varval=0;for(vari=0;i>8;}while(i)returnbytes;}我正在尝试将javascript数字转换为字节数组,然后再转换回数字。然而,上述函数会产生非常大的错误输出。vararray=getInt64Bytes(23423423);varvalue=intFromBytes(array);console.log(value);//Prints23423423-correctvararray=getInt64Bytes(45035996273704);varvalue=intFromBytes(array)

javascript - 输入模型在更改时从 Integer 更改为 String

具有一种基于输入模型的价格范围/评级功能。在加载时,当它从后端设置时,它开始时是一个整数,但是当您输入它时,它会变成一个字符串。Angular中有没有什么方法可以将输入的值声明为整数?HTML:JS:$scope.updateAggregatePricing();if($scope.menu.totalPrice===0){$scope.menuPriceRange="";}elseif($scope.menu.totalPrice=10&&$scope.menu.totalPrice=12.51&&$scope.menu.totalPrice=15){$scope.menuPrice

javascript - 为什么 Number.MAX_SAFE_INTEGER 是 9,007,199,254,740,991 而不是 9,007,199,254,740,992?

ECMAScript6的Number.MAX_SAFE_INTEGER应该表示JavaScript在出现浮点精度问题之前可以存储的最大数值。但是,要求添加到此值的数字1也必须可以表示为Number。Number.MAX_SAFE_INTEGERNOTEThevalueofNumber.MAX_SAFE_INTEGERisthelargestintegernsuchthatnandn+1arebothexactlyrepresentableasaNumbervalue.ThevalueofNumber.MAX_SAFE_INTEGERis9007199254740991(2^53−1).

javascript - Math.random() 返回值大于一?

在JavaScript中使用随机数时,我发现了一个令人惊讶的错误,大概是在GoogleChrome的V8JavaScript引擎中。考虑://Generatearandomnumber[1,5].varrand5=function(){returnparseInt(Math.random()*5)+1;};//ReturnasampledistributionoverMAXtimes.vartestRand5=function(dist,max){if(!dist){dist={};}if(!max){max=5000000;}for(vari=0;i现在,当我运行testRand5(

JavaScript Math.random 正态分布(高斯钟形曲线)?

我想知道JavaScript函数Math.random是否使用正态分布(相对于均匀分布)。如果不是,我怎样才能得到使用正态分布的数字?对于创建随机正态分布数字的算法,我尚未在Internet上找到明确的答案。我想重建施密特机(德国物理学家)。机器产生0或1的随机数,它们必须服从正态分布,以便我可以将它们绘制为高斯钟形曲线。例如,随机函数产生120个数字(0或1),这些求和值的平均值必须接近60。 最佳答案 根据我的经验,这是第一个关于“jsgaussianrandom”的Google结果,我觉得有义务对该查询给出实际答案。Box-M

javascript - Math.random() 是加密安全的吗?

JavascriptMath.random()在不同浏览器中使用的算法有多好?可以用它来生成盐和一次性密码吗?我可以使用一个随机中的多少位? 最佳答案 没有;JavaScript的Math.random()函数不是加密安全的随机数生成器。你最好使用JavaScriptCryptoLibrary的Fortuna实现是一个强大的伪随机数生成器(查看src/js/Clipperz/Crypto/PRNG.js),或WebCryptoAPIforgetRandomValues这里有详细的解释:Howtrustworthyisjavascri

javascript - Math.max.apply() 是如何工作的?

Math.max.apply()是如何工作的?JSBinvarlist=["12","23","100","34","56","9","233"];console.log(Math.max.apply(Math,list));https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max上面的代码在列表中找到最大数。谁能告诉我下面的代码是如何工作的?如果我通过null或Math.似乎它有效console.log(Math.max.apply(Math,list));是否所