首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >大整数的JavaScript求和

大整数的JavaScript求和
EN

Stack Overflow用户
提问于 2010-12-29 12:16:45
回答 10查看 58.9K关注 0票数 34

在JavaScript中,我希望使用以下方法创建大型布尔数组(54个元素)的二进制散列:

代码语言:javascript
运行
AI代码解释
复制
function bhash(arr) {
   for (var i = 0, L = arr.length, sum = 0; i < L; sum += Math.pow(2,i)*arr[i++]); 
   return sum;
}

简而言之:它创建最小的整数来存储布尔值数组。现在我的问题是javascript显然使用浮动作为缺省值。我必须创建的最大数量是2^54-1,但是一旦javascript达到2^53,它就开始执行一些奇怪的事情:

代码语言:javascript
运行
AI代码解释
复制
9007199254740992+1 = 9007199254740994

在javascript中有使用整数而不是浮动的方法吗?还是大整数求和?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2010-12-29 12:23:50

JavaScript在内部使用浮点。

什么是JavaScript的最高整数值,一个数字可以在不失去精度的情况下到达?

换句话说,您不能使用超过53位。在某些实现中,您可能被限制为31。

尝试将比特存储在多个变量中,使用字符串或获取bignum图书馆,或者如果只需要处理整数,则使用biginteger库

票数 20
EN

Stack Overflow用户

发布于 2019-02-10 12:15:27

BigInt是作为JavaScript的一个本机特性添加的。

代码语言:javascript
运行
AI代码解释
复制
typeof 123;
// → 'number'
typeof 123n;
// → 'bigint'

示例:

代码语言:javascript
运行
AI代码解释
复制
const max = BigInt(Number.MAX_SAFE_INTEGER);
const two = 2n;
const result = max + two;
console.log(result);
// → '9007199254740993'
票数 9
EN

Stack Overflow用户

发布于 2018-06-07 03:45:54

javascript现在有了BigInt

在编写本报告时,只有chrome支持这一点。

犬科还没有进入。

BigInt既可以与构造函数(例如BigInt(20) )一起使用,也可以通过附加n (例如20n )来使用。

示例:

代码语言:javascript
运行
AI代码解释
复制
const max = Number.MAX_SAFE_INTEGER;

console.log('javascript Number limit reached', max + 1 === max + 2) // true;

console.log('javascript BigInt limit reached', BigInt(max) + 1n === BigInt(max) + 2n); // false

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4557509

复制
相关文章
python: ValueError:
File "/self/_UDACity/pythonLearning/mathTest.py", line 28, in <module>     tmp3 = math.log((1/3), 2)# ValueError: math domain error
py3study
2020/01/08
7120
【说站】python元组如何打包和解包
2、解包时,如果解包出来的元素数目与变量数目不匹配,就会引发ValueError异常。
很酷的站长
2022/11/23
8170
【说站】python元组如何打包和解包
Python - 解包的各种骚操作
https://www.cnblogs.com/poloyy/p/14658433.html
小菠萝测试笔记
2021/08/10
6600
Python抛出异常_python抛出异常的作用
在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误
全栈程序员站长
2022/11/02
2.6K0
文件打包解包的方法
在很多情况下,软件需要隐藏一些图片,防止用户对其更改,替换。例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源图片进行了打包,当软件运行的时候解包获取资源图片。
DeROy
2020/05/12
2.1K1
Python有趣的解包用法
python中的解包可以这样理解:一个list是一个整体,想把list中每个元素当成一个个个体剥离出来,这个过程就是解包,我们来看下面这些例子(分为10个部分)。
Python中文社区
2018/07/26
8480
dotnet C# 应用程序进程创建太多线程将会抛出 OutOfMemoryException 异常
本文记录一个 dotnet 的特性,在应用程序快速创建大量线程的时候,将会因为线程创建时没有足够的资源而创建失败,此时将会抛出 OutOfMemoryException 异常,但实际进程占用内存不多
林德熙
2021/09/23
9900
matplotlib无法显示图片_pycharm不出图
首先你运行之后最小化pycharm,看看是不是已经出来了,只是没有自己弹到最顶层。
全栈程序员站长
2022/09/25
2.2K0
matplotlib无法显示图片_pycharm不出图
Celery ValueError: n
最近因项目需要,在使用任务队列Celery的时候,出现如题错误,最终在github上里找到解决办法,记录一下。
py3study
2020/01/20
7980
【说站】python序列解包的使用
2、字典中使用序列解包时,默认情况下是键的操作。如果需要操作键值,则需要使用items(),如果需要操作值,则使用value()。
很酷的站长
2022/11/24
4650
【说站】python序列解包的使用
ValueError: too many
数据:{'O_DATA': [{'ACCOUNT': 'A20001002', 'ZACTOSP': Decimal('21792635.96'), 'ZBUDGET': Decimal('290271.50'), 'ZACTUAL': Decimal('4878563.10')}]}
py3study
2020/01/16
6860
ValueError: too many
ValueError:invalid
使用django的异步调用场景时,并配置了如下配置:出现了错误:ValueError: Database is int between 0 and limit - 1, not :6379/0
cywhat
2023/04/27
3830
Basemap工具函数(1)
添加一个经度值到经度数组中,并且添加一列值到数据数组中。当数据覆盖全部经度时,非常有利于添加缺省值。
bugsuse
2020/04/21
2.4K0
Basemap工具函数(1)
解决织梦CMS Tag中文字太多/太长失效无法添加的问题
最近老蒋看到群里网友在使用织梦CMS程序还是比较多的,尤其是有做范文类内容网站比较多,毕竟大数据网站是不适合WP这种程序的。不过在织梦CMS程序提交文章过程中,他们如果提交的TAG字符过长,或者中文字太多的话会会无法被写入数据库,这个是什么问题呢?
老蒋
2021/12/27
9970
深入Go:错误的包装与解包
仔细想想,我们的Go代码中可能有四分之一的代码都是和错误处理相关的,而我们已经接受了,error无处不在。但似乎Go的error处理并不够强大,也缺乏统一的错误处理流程的逻辑;在经历了大量的讨论后,Go 1.13引入了错误的包装和解包,也许某种程度上可以优化我们的错误处理流程。
wenxing
2021/12/14
2K0
Python 元组解包的几种方法
要将一个tuple中的所有值作为参数,如果直接用上面两种方法就不太 pythonic了,可以用以下方法解包
Ewdager
2020/07/14
1.4K0
maven 解包依赖项中的文件
使用goal:unpack-dependencies 在配置参数includeArtifactIds中指定要解包的模块制件ID
路过君
2022/07/20
2.5K0
工具推荐|pyinterp-面向地球科学领域的插值工具
此项目的动机是为地球科学领域提供插值工具。当然也有其它库可应用于地球科学的数据插值,但是这些库基本完全是用Python编写,其性能无法满足需求。
bugsuse
2022/09/23
9800
工具推荐|pyinterp-面向地球科学领域的插值工具
Python可视化 | 三维图形迁移
在前面推送中我们提到了通过collection功能而在3D地图中添加地图的方法,也短暂提到了栅格与填色两种图形样式的降维方法。但是从matplotlib这两个函数的底层有一定的局限性,比如下面这两张图的侧面填色就无法绘出:
郭好奇同学
2021/05/28
1.9K0
Python可视化 | 三维图形迁移
自动美化你的Matplotlib ,使用Seaborn控制图表的默认值
如果您曾经在 Python 中进行过数据可视化,那么很可能您使用了 Matplotlib 库。这个库包含了许多绘图的功能。但是一些概念上简单的可视化需要大量的代码才能完成。而在这个时代,人们希望能够与图表进行交互——这是普通 Matplotlib 库无法提供的功能。更重要的是,采用默认设置的 Matplotlib 图表通常看起来很糟糕。
deephub
2020/06/04
1.7K0

相似问题

如何根据熊猫数据帧中的数据类型填写NaN值?

12

未知的帧大小

11

块大小未知的示例dask数据帧

129

如何填写熊猫丢失的GPS数据?

22

熊猫费()填写丢失的数据

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档