Java 中常用的进制转换

【Java】 将字节数组转换为十六进制字符串:Java实现指南 在Java编程中,经常需要将字节数组转换为十六进制字符串,这在处理二进制数据时尤为常见。字节数组到十六进制字符串的转换,实质上是将每个字节(8位二进制数)转换为两位十六进制数。将字节数组转换为十六进制字符串是Java中常见的操作,特别是在处理二进制数据或进行网络通信时。通过上述示例,我们可以看到有多种方法可以实现这一功能,每种方法都有其适用场景。以下是几个将字节数组转换为十六进制字符串的示例代码,每个示例都附有必要的中文注释。> (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。 阅读详情

前言

所谓进制转换,就是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”和“位权”所构成。其中基数是指进位计数制中所采用的数码的个数,逢 n 进 1 中的 n 就是基数。而位权则指的是进位制中每一个固定位置所对应的单位制,而每一种进制中的某一个数的每位上都有一个权值 m,而且权值是位数减一,比如个位上的数的权值为 0(位数 1 - 1 = 0),而十位的权值为 1(位数 2 - 1 = 1)。

在 Java 学习中,我们难免会和各种进制打交道。今天就来看看,在 Java 中最常用的几个进制的相关概念,以及如何利用 Java 来实现他们之间的相互转换!

二进制

二进制是计算机中采用最广泛的一种数制,用 0 和 1 两个数码来表示,其进位规则是逢二进一,而借位规则则是借一当二。

如果要将二进制转换为十进制,则采用 按权展开求和方法,其步骤是先将二进制的数写成加权系数展开式,然后再更具十进制的加法规则进行求和。

​

十进制

而一个十进制数要转换为二进制数,则需要将整数和小数部分分别转换,最后再进行组合。其中,整数部分采用除二取余,逆序排序的方法。具体方法是用 2 来整除一个十进制数,从而得到一个商和余数;然后再用 2 去除以商,从而又得到一个商和余数,重复这个步骤,直到最后得到的商小于 1 时为止。最后把按照得到余数的先后顺序,逆序依次排列,得到的数即为这个十进制数的二进制表示。

小数部分则不同于整数部分,小数部分要使用乘 2 取整法,即用十进制的小数部分乘以 2,然后取结果的整数部分,然后再用剩下的小数重复刚才的步骤,直到最后剩余的小数为 0 时停止。最后将每次得到的整数部分按照先后顺序正序排列,从而得到对应的二进制表示。

八进制

所谓八进制,就是每 3 位二进制作为一个单元,其中最小的数是 0,最大的数是 7,一共 8 个数字。

要将二进制的数转换为八进制,需要将 3 个连续的数拼成一组,然后再独立转成八进制中的数字。

十六进制

所谓十六进制,就是每 4 位二进制作为一个单元,其中最小数是 0,最大数是 15,一共 16 个数字,分别用 0 ~ 9、A、B、C、D、E、F 表示。

要将二进制转换为十六进制,需要将 4 个连续的数拼成一组,然后再独立转换为十六进制中对应的数字。

例如,二进制的 、1111100111010111 可以转换为十六进制中的F9D7。

常用进制转换

当然,Java 中也已经将常用的进制转换方法封装好了,我们只需要调用对应方法即可。

转换方法返回
十进制 -> 二进制Integer.toBinary(int num)二进制字符串
十进制 -> 八进制Integer.toOctalString(int num)八进制字符串
十进制 -> 十六进制Integer.toHexString(int num)十六进制字符串
十进制 -> N 进制Integer.toString(int num, int N)N 进制字符串
public class Main {
    public static void main(String[] args) {
        int num = 200;
        System.out.println(num + " 的二进制是:" + Integer.toBinaryString(num));
        System.out.println(num + " 的八进制是:" + Integer.toOctalString(num));
        System.out.println(num + " 的十六进制是:" + Integer.toHexString(num));
        System.out.println(num + " 的三进制是:" + Integer.toString(num, 3));
    }
}

相反的,如果我们要将一个 N 进制的字符串 str 转换为十进制数,那么可以使用以下方法。

转换方法返回
N 进制 -> 十进制Integer.parseInt(String str, int N)十进制数
public class Main {
    public static void main(String[] args) {
            String str = "21104";
            int N = 5;
            System.out.println(str + " 的十进制是:" + Integer.parseInt(str, N));
    }
}

总结

以上就是有关二进制、十进制、八进制、十六进制相关的知识点了。此外还介绍了 Java 中如何进行十进制向其他进制的转换方法,以及如何将其他进制转换为十进制。

Java实现十进制转十六进制算法 在本文中,我们将介绍如何使用Java编程语言来实现十进制转十六进制的算法。在十六进制中,使用0-9表示0-9的数值,使用A-F表示10-15的数值。例如,十六进制中的10表示为A,15表示为F。通过以上示例,我们学会了如何使用Java编程语言实现十进制与十六进制之间的相互转换。接下来,我们将实现一个方法,该方法可以将一个十进制数转换为十六进制数。如上所示,我们成功地将十进制数255转换为十六进制数FF。如果你想要将一个十六进制数转换为十进制数,同样可以编写一个相似的方法来实现。函数将其转换为十进制数。 阅读详情

相关推荐

win x64下安装oracle 12c出现[INS-30131]报错的解决方案

问题:  win x64下安装oracle 12c出现[INS-30131]报错的解决方案 安装oracle11g碰到“无法访问临时位置”的问题,详细信息如下: INS-30131] 执行安装程序验证所需的初始设置失败。 原因 - 无法访问临时位置。   操作 - 请确保当前用户具有访问临时位置所需的权限。   附加信息:  - 所有节点上的框架设置检查都失败  

一条道走到黑的GISer 1347

JAVA中十六进制转换

1.十进制转十六进制字符串 /** * 十进制转十六进制字符串 * @param param 十进制参数 * @return 十六进制字符串 */ private static String intToHex(int param){ String result = Integer.toHexString(param); return result.length()%2==1?"0"+result:result; } ...

qq_35796004的博客 9355

深入解析璞致PZ-ZU47DR RFSoC核心板:硬件架构与多通道ADC/DAC设计实战

本文深入解析璞致PZ-ZU47DR RFSoC核心板的硬件架构与多通道ADC/DAC设计实战。作为Xilinx Zynq UltraScale+ RFSoC系列的代表产品,PZ-ZU47DR集成了8通道5GSPS ADC和8通道9.85GSPS DAC,支持直接射频采样,大幅简化射频链路设计。文章详细介绍了其技术优势、设计挑战及实战技巧,为5G小基站、毫米波等应用场景提供高效解决方案。

meat5的博客 834

Java菜鸟入门

Java菜鸟入手 前言: Java基本语法: 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量

weixin_46148684的博客 1396

昇腾910B+MindIE部署Qwen模型避坑指南:从镜像下载到推理测试全流程

本文详细介绍了在昇腾910B硬件环境中使用MindIE推理工具部署Qwen系列模型的全流程指南。从环境准备、镜像下载到模型部署与性能优化,提供一站式解决方案,帮助开发者高效完成AI模型推理任务。

weixin_29219189的博客 766

[Adaptive Autosar]深入理解--Time Synchronization

目录 1.TS典型应用场景 2.CP和AP时间同步对比 3.时间同步基础知识 4.TBR部分参数说明 5. TS功能说明 5.1 基本说明 5.2 时间纠正计算说明 5.3 时间验证 Time Synchronization 时间同步,后面简称TS 1.TS典型应用场景 时间同步,典型应用就是在自动驾驶领域,自动驾驶领域涉及到各个传感器的数据采集,如IMU采集当前车身姿态和运动信息,毫米波雷达-超声波雷达-环视摄像头-前视摄像头...等等传感器捕获的数据,在算法中需要精确知道每个数.

AgingMoon的博客 3997

使用Java 将字节数组转成16进制的形式

在很多场景下,需要进行分析字节数据,但是我们存起来的字节数据一般都是二进制的,这时候就需要我们将其转成16进制的方式方便分析。比如在做音视频的时候,需要看下我们传输的视频h264数据中是否有对应的I帧或者B帧等数据,做ASM插桩的时候,可以使用输出类结构的16进制辅助分析了解问题。测试投屏的时候尤其有用,比如说投屏到电视上后,发现没有画面,或者是画面很卡顿,这时候就需要对我们传输的视频数据做分析,所以我们将视频的数据转成16进制的形式,并且以一定的格式输出,可以很方便的帮助我们定位问题。

知识应该共享,创造才应收费 2378

电子电器架构 --- OEM企标中规定ECU启动时间的目的

电子电器架构 --- OEM企标中规定ECU启动时间的目的

Soly_kun的博客 223

Java基础——Java中常用的进制转换

在 Java 学习中,我们难免会和各种进制打交道。今天就来看看,在 Java 中最常用的几个进制的相关概念,以及如何利用 Java 来实现他们之间的相互转换!

x1113162924的博客 628

K8s(二十一):在 Kubernetes 集群中部署 MySQL8.0 高可用集群(1主2从)

🔴 K8s(二十一):在 Kubernetes 集群中部署 MySQL8.0 高可用集群(1主2从)

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 3万+

HBase在物流行业的应用:轨迹数据存储

想象一下,每天在全球范围内,数以亿计的物流包裹在各个城市、乡镇间穿梭。每一个包裹从发货人手中出发,经过仓储中心、转运站,最终到达收货人手中,这一路上都留下了它的“足迹”,也就是我们所说的轨迹数据。这些数据就像一个个拼图碎片,完整拼接起来后,能够清晰地呈现出整个物流网络的运行状况。例如,你在网上购买了一件心仪已久的商品,迫不及待地想知道它现在到哪儿了。物流平台实时更新的轨迹信息,让你可以准确了解包裹是在运输途中,还是已经到达附近的站点。

架构师的AI之路,分享AI应用开发架构的学习与实践。 965

Java 菜鸟入门 | 常用进制转换

Java 菜鸟入门系列,介绍常用的进制知识,并利用 Java 实现他们的相互转换!

村雨遥 2774

YOLOV8改进:添加Wiseiou,有效涨点

【代码】YOLOV8改进:添加Wiseiou,有效涨点。

AIcurator的博客 2391

Java中常用进制转换

Java中常用进制转换: 1.二进制转十进制 2.十进制转二进制 3.八进制转十进制 4.十进制转八进制 5.十六进制转十进制 6.十进制转十六进制

穷极一生 1270

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java常用进制转换

2进制、10进制、16进制基本转化方式 内容 java进制转换 java中进行二进制,八进制,十六进制,十进制间进行相互转换 十进制转成十六进制: Integer.toHexString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf(“FFFF”,16).toString()

yaonga的专栏 245

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java常用进制转换

目录 16进制的byte与String转换 16进制与10进制的互相转换 2进制与16进制的互相转换 2进制与10进制的互相转换 16进制转Ascii 1)16进制的byte与String转换 16进制字符串转byte String str = "A5"; byte res = (byte) Integer.parseInt(str, 16) 1 2 16进制byte转String字符串 String res = String.format("%02x", new Integer(b &am.

qq_35222843的博客 316

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

常用Java进制转换方法记录

一些Java进制转换方法记录1、字节数组装换为十六进制字符串2、十六进制字符串转换为字节数组3、字节数组转换为整型(大端模式,高位在前)4、整型转换为字节数组(大端模式,高位在前)5、字节数组转换为整型(小端模式,低位在前)6、整型转换为字节数组(小端模式,低位在前)7、整型转为长整型(防止显示为负数) 1、字节数组装换为十六进制字符串 private final static byte[] hex = "0123456789ABCDEF".getBytes(); /** * 从字节数组

sinat_17164495的博客 249

java中常用的进制转换

十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf("FFFF",16).toString() 八进制转成十进制 Integer.va...

weixin_30471065的博客 64

java基础加强(数组、判断语句、循环结构、进制转换、常用类等)

------- android培训、java培训、期待与您交流! ---------- 一、什么是变量 定义在方法中的变量、定义在方法参数中的变量,定义在for循环中的变量都是“局部变量”,只能在有限的范围内被使用。定义在全局里面,可以被全局使用的叫做全局变量。 二、实体 1、实体包括: 数组和对象,数组也可以称之为对象! 2、注意: 如果实体是一个数组,那么变量并不是数组本身

u013470176的专栏 1875

Java 常用类 基础 Integer类使用,进制转换 教程

一、包装类对应的基本数据类型 Integer – int Character – char 二、Integer类的常用用法: 1.输出Integer基本信息 System.out.println("the max number of int is :"+Integer.MAX_VALUE); System.out.println("the min number of int is : "+Inte...

半亩方糖 525

Java中的进制以及常用进制转换

进制 2,8,16进制 1:二进制:0和1 定义时候前面加0b int a=0b001; 2:八进制 0-7前面加0 int a=065 3:十六进制:0-9,a-f 写法 int i=0x12a; ---------------------------------------- 转化 10变2进制 (8-4-2-1)或者短除法倒叙读余 十进制的小数转二进制 整数为0的话 小数*2(进制)直到变整数 整数不为0 分开计算,整数部分除以2(倒叙),小数*2(正序) 二转8进制 3位一取,eg :1101..

iT_B_OY的博客 376

常用进制转换和JAVA特殊运算符

为了阅读源码,和编写高效率的代码,进制间的转换和特殊运算符是我们必须要熟悉和掌握的。 一、制转转换 二进制的特点就是逢二进1,在我们学习数学的时候,我们一定记过加法表,或乘法表吧,想想加法乘法表的特性,我们可以发现进制间相互转换是很容易理解的, 下面我们对常用的进制转换进行说明。 十进制加法表: 十进制乘法表: 1.十进制二进制相互转换 二进制的特点是逢二进一,乘法就更加简...

qq_36669747的博客 453

java开发过程中 常用的进制转换

java中进制转换操作 10转16 高低位区分

qq_33651286的博客 166
上一篇: java实现二叉搜索树功能
下一篇: JVM调优-GC基本原理和调优关键分析
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值