Java常用API(BigInteger)

news2024/9/19 10:52:11

在Java中,整数有四种类型:byte,short,int,long

在底层占用字节个数:byte 1个字节,short2个字节,int 4个字节,long 8个字节

对象一旦创建,里面的值是不能改变的。

1.随机获取一个最大整数

Random r = new Random();

for(int i = 0 ; i < 100 ; i ++){

BigInteger bd1 = new BigInteger(4,r);

System.out.println(bd1);[0~2^4-1]

}

2.获取一个指定的大整数 细节:字符串中必须是整数,否则会报错BigInteger bd2 = new BigInteger("1.1");System.out.println(bd2);

BigInteger bd3 = new BigInteger("abc");System.out.println(bd3);

3.获取指定进制的大整数

细节:

1.字符串中的数字必须是整数//2.字符串中的数字必须要跟进制吻合。//比如二进制中,那么只能写@和1,写其他的就报错。

BigInteger bd4 = new BigInteger("123",2)System.out.println(bd4);

4.静态方法获取BigInteger的对象,内部有优化细节:

1.能表示范围比较小,只能在1ong的取值范围之内,如果超出1ong的范围就不行了。

2.在内部对常用的数字:-16 ~ 16 进行了优化。提前把-16 ~ 16 先创建好BigInteger的对象,如果多次获取不会重新创建新的。

BigInteger bd5 = BigInteger.valueOf(16);BigInteger bd6= BigInteger.valueOf(16);

System.out.println(bd5 == bd6);//true

BigInteger bd7= BigInteger.valueOf(17);BigInteger bd8=BigInteger.valueOf(17);

System.out.println(bd7 == bd8);//false

方法小结

1.如果Big Integer表示的数字没有超出long的范围,可以用静态方法获取

2.如果Big Integer表示的超出long的范围,可以用构造方法获取

3.对象一旦创建,BigInteger内部记录的值就不会改变

4.只要进行计算都会产生一个新的BigInter对象

常用方法

public BigInteger add(BigInteger val) 加法

public BigInteger subtract(BigInteger val) 减法

public BigInteger multiply(BigInteger val) 乘法

public BigInteger divide(BigInteger val) 除法

public BigInteger[]divideAndRemainder(BigInteger val) 获取商除法

publicboolean equals(object x) 获取商和余数比较是否相同

publicBigInteger pow(int exponent) 次幂

publicBigInteger max/min(BigIntegerval) 返回较大值/较小值转为int类型整数

publicint intValue(BigInteger val) 超出范围数据有误

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2082990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go wv(WebView2) GUI框架介绍和使用

说明 wv(webview2) 是Go语言基于LCL和WebView2基础上封装的框架&#xff0c;用于开发Windows GUI软件。 介绍 LCL(Lazarus Component Library) &#xff1a;跨平台原生UI组件库. wv(WebView2): Microsoft Edge WebView2 控件允许在本机应用中嵌入 web 技术(HTML、CSS 以及 …

俄罗斯应用本地化中需要考虑的不同格式的特点

在为俄罗斯市场本地化应用程序时&#xff0c;调整各种格式以符合当地惯例至关重要。这些格式&#xff0c;包括日期和时间、数字、货币、地址等&#xff0c;在确保应用程序对俄罗斯用户来说自然和用户友好方面发挥着重要作用。以下是本地化过程中应考虑的一些关键格式特征。 日…

算法之二分查找法

用二分查找法刷leetcode算法题目的时候&#xff0c;经常遇到视频看着理解很透彻&#xff0c;当上手写时一看就会&#xff0c;一写就废。二分查找法涉及边界条件很多&#xff0c;逻辑很简单&#xff0c;就是写不好。何时写 while(left<right)&#xff0c;while(left<right…

【大模型】llama系列模型基础

前言&#xff1a;llama基于transformer架构&#xff0c;与GPT相似&#xff0c;只用了transformer的解码器部分。本文主要是关于llama&#xff0c;llama2和llama3的结构解读。 目录 1. llama1.1 整体结构1.2 RoPE1.3 SwiGLU 激活函数 2. llama22.2 GQA架构2.3 RLHF3. llama3 参考…

【数据结构入门】排序算法之插入排序与选择排序

目录 前言 一、排序的概念及运用 1.排序的概念 2.排序的运用 3.常见排序算法 二、插入排序与选择排序 2.1插入排序 2.1.1直接插入排序 1&#xff09;基本思想 2&#xff09;具体步骤 3&#xff09;算法特性 4&#xff09;算法实现 2.1.2希尔排序 1) 基本思想 2&…

从苹果智能看端上大模型应用

将生成式人工智能集成到边缘设备本身就是一个重大挑战&#xff0c;我们需要在智能手机和计算机有限的计算能力和内存范围内高效地运行高级模型。确保这些模型运行迅速&#xff0c;而不会耗尽电池寿命或使设备过热&#xff0c;端上的局限增加了大模型应用的复杂性。此外&#xf…

LeetCode 算法:杨辉三角 c++

原题链接&#x1f517;&#xff1a;杨辉三角难度&#xff1a;简单⭐️ 题目 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1]…

关于异常断电后jmeter的jmx文件异常变成二进制文件并成功恢复的心酸历程

今日下午正在编写jmeter接口&#xff0c;正在调试中&#xff0c;突然断电&#xff08;由于四川高温&#xff0c;导致电力紧缺的很&#xff09;&#xff0c;来电了后我正常启动电脑&#xff0c;打开后&#xff0c;赶紧打开jmeter&#xff0c;并打开最近打开的文件&#xff0c;我…

『功能项目』怪物受击的动画事件【10】

我们打开上一篇09着色器光透魔法球的项目&#xff0c; 本章要做的事情是在场景中创建一个怪物对象&#xff0c;当怪物被主角的魔法球击中后播放受击动画效果&#xff0c;此类技术用到动画事件帧&#xff0c;在动画上创建脚本。 首先打开资源商店选择一个免费资源的怪物模型加载…

静态ISP代理IP适合什么应用场景?

随着互联网的普及和发展&#xff0c;越来越多的设备和应用需要接入网络。在这些情况下&#xff0c;动态主机配置协议 (DHCP) 成为一种常见的选择&#xff0c;因为它会自动为客户端分配 IP 地址。然而&#xff0c;在某些特定场景下&#xff0c;静态 IP 地址 (ISP) 可能是更好的选…

哈夫曼树例题

从这道题可以看出需要构建哈夫曼树 构造哈夫曼树如下 9和5最小&#xff0c;构成左右树&#xff0c;二者之和是14&#xff0c;放入数组&#xff0c;5和9从数组去掉 14和16最小&#xff0c;构成左右树&#xff0c;二者之和是30&#xff0c;放入数组&#xff0c;14和16从数组去…

基于yolov8的玻璃瓶塑料瓶检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的玻璃瓶塑料瓶检测系统是一个利用深度学习技术的先进解决方案&#xff0c;专注于对图像、视频或实时摄像头流中的玻璃瓶和塑料瓶进行快速准确的检测与定位。该系统通过YOLOv8这一高效的目标检测算法&#xff0c;能够在多种应用场景下展现卓越的性能。…

Java面试题·解释题

系列文章目录 总章 Java解释题 文章目录 系列文章目录前言面向对象编程是什么&#xff1f;Java的跨平台原理Java的安全性Java的三大版本Java开发运行过程什么是JVM&#xff1f;什么是JDK&#xff1f;什么是JRE&#xff1f;JDK,JRE,JVM三者关系概括Java的数据类型&#xff1f;J…

有没有比较好用的在线翻译工具?实力推荐这4款。

当我们面对外文资料时&#xff0c;可能需要翻阅厚重的词典&#xff0c;耗费大量的时间和精力。在翻译这方面&#xff0c;很多人都十分依赖翻译工具的&#xff0c;因为这些工具只需几秒钟就能给出翻译结果&#xff0c;提高了我们的学习和工作的效率。但是随着翻译工具越来阅读&a…

灵感枯竭?ChatGPT助你轻松完成开题报告!

在学术探索的征途中&#xff0c;撰写论文开题报告是一项至关重要的初步工作。这项工作不仅标志着您研究旅程的起点&#xff0c;也是展现您研究思路和方法论的关键时刻。ChatGPT&#xff0c;作为一款前沿的人工智能工具&#xff0c;将以其深度学习能力&#xff0c;成为您学术探索…

【大模型系列篇】预训练模型:BERT GPT

2018 年&#xff0c;Google 首次推出 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;。该模型是在大量文本语料库上结合无监督和监督学习进行训练的。 BERT 的目标是创建一种语言模型&#xff0c;可以理解句子中单词的上下文和含义&…

数学问题+贪心

前言&#xff1a;一开始我想的就是我每次都设置一个cnt记录每次增加量&#xff0c;后面都增加这个量&#xff0c;但是发现我忘记要把这个量先加到后面的元素上面去 正确的做法就是每次 a [ i ] > a [ i − 1 ] a[ i ] > a[ i-1 ] a[i]>a[i−1] 的时候再进行处理&…

量化交易backtrader实践(四)_评价统计篇(3)_更多评价与可视化

前情回顾 在第(1)节中&#xff0c;我们对于backtrader内置的评价指标一个接一个的进行了实践测试&#xff0c;其中第10个是金融投资组合分析库 - pyfolio&#xff0c;当时我们先去实践了Analyzer中的pyfolio指标&#xff08;其实就是03&#xff0c;07&#xff0c;08&#xff0…

Python TensorFlow入门与实践

摘要 本文旨在详细介绍如何使用Python和TensorFlow进行基本的深度学习任务。我们将从安装TensorFlow开始&#xff0c;逐步讲解如何创建简单的神经网络模型&#xff0c;并通过一个具体的示例来演示如何训练模型。此外&#xff0c;我们还将讨论一些高级主题&#xff0c;如卷积神…

“长风破浪”计划创作营圆满结营 9月10日“2024华韵视听大会”佛山见

8月26日&#xff0c;“长风破浪”青年音乐人唱享计划与青年影视人扶持计划创作营在佛山高明皂幕山上圆满结营。首季创作营历时一周&#xff0c;在高强度的创作中&#xff0c;20位青年影视人和音乐人群策群力&#xff0c;超额完成任务&#xff0c;共创两首歌曲、一部微短剧及一部…