java - 如何进行更大数量的操作
问题描述
我需要计算比长整数可以存储的大得多的数字(例如 1234567890*1234)。有没有办法超过那个内存容量?
解决方案
查看BigInteger。这是一个例子。
BigInteger v = BigInteger.valueOf(1234567890);
BigInteger prod = v.multiply(BigInteger.valueOf(1234));
System.out.println(prod);
如果数字不适合长,则为它们提供一个字符串。
v = new BigInteger("4994949234567890");
prod = v.multiply(new BigInteger("1234920292029292292"));
System.out.println(prod);
印刷
1523456776260
6168364167424068724128019127703880
对应的浮点数是BigDecimal
推荐阅读
- javascript - 如何在范围外使用套接字?
- java - 运行此 Spring Batch 应用程序时发生“HikariDataSource 已关闭”异常,为什么?怎么修?
- javascript - 限制 Google 自定义搜索中的广告数量
- reactjs - 反应原生:命令失败:./gradlew app:installDebug
- c# - 如何在 GET-Method 中排除 JSON 中的一些模型字段?
- python - Python列表排序与仿真优化问题
- msbuild - 进行 WebDeploy 时不要删除 web.config
- c# - IEnumerable SelectListItem 引发 ArgumentNullException:值不能为空。(参数“来源”)
- python - 如何为 pandas 的 read_csv 选择编码类型
- node.js - Node.js GraphQL 突变定义不起作用