Java进制转换

进制介绍
二进制:0B开头,0-1
八进制:0开头,0-7
十进制:0-9
十六进制:0x开头,0-9和A-F

public class Binary{public static void main(String[] args){//二进制 10int n1=0B1010//十进制 1010int n2=1010//八进制 520int n3=01010//十六进制 65793int 0x10101}
} 

进制
进制
n进制转换为十进制
1.从n进制数的最低位开始,逐位将每一位数字乘以n的幂,然后相加得到十进制数。
2.从右向左遍历每一位数字,每次将当前位数字乘以n的幂,然后累加到最终的十进制结果中。

public class NumberConverter {public static int convertToDecimal(int number, int base) {// 十进制结果初始化为0,幂初始化为0int decimalNumber = 0;int power = 0;while (number > 0) {// 取当前位的数值int digit = number % 10;//当前位数值乘以n进制的幂数decimalNumber += digit * Math.pow(base, power);//去除已处理的最低位number /= 10;//幂+1power++;}
//返回结果return decimalNumber;}
//入口函数public static void main(String[] args) {int binaryNumber = 101;int base = 2;int decimalResult = convertToDecimal(binaryNumber, base);System.out.println("The decimal equivalent of binary number " + binaryNumber + " is: " + decimalResult);}
}

十进制转n进制
1.不断地将十进制数除以n,直到商为0为止,每次取余数即为转换后的n进制数的一个数字。
2.将得到的余数按照逆序排列,即可得到最终的n进制数表示

public class NumberConverter {public static String convertFromDecimal(int decimalNumber, int base) {StringBuilder result = new StringBuilder();while (decimalNumber > 0) {int remainder = decimalNumber % base; // 求余数result.insert(0, remainder); // 将余数插入到字符串的开头decimalNumber /= base; // 更新十进制数为商,继续循环}return result.toString();}public static void main(String[] args) {int decimalNumber = 42;int base = 2;String binaryResult = convertFromDecimal(decimalNumber, base);System.out.println("The binary equivalent of decimal number " + decimalNumber + " is: " + binaryResult);}
}

任意两个进制的转换
进制A转换为进制B,可以先将A转换为十进制,再转换为B进制

public class NumberConverter {
//a进制转为十进制
public static int convertToDecimal(int number, int base) {// 十进制结果初始化为0,幂初始化为0int decimalNumber = 0;int power = 0;while (number > 0) {// 取当前位的数值int digit = number % 10;//当前位数值乘以n进制的幂数decimalNumber += digit * Math.pow(base, power);//去除已处理的最低位number /= 10;//幂+1power++;}
//返回结果return decimalNumber;}//十进制转为b进制public static String convertFromDecimal(int decimalNumber, int base) {StringBuilder result = new StringBuilder();while (decimalNumber > 0) {int remainder = decimalNumber % base; // 求余数result.insert(0, remainder); // 将余数插入到字符串的开头decimalNumber /= base; // 更新十进制数为商,继续循环}return result.toString();}public static void main(String[] args) {String binaryNumber = "1010";int baseFrom = 2;//二进制转换为十进制int decimalNumber = convertToDecimal(binaryNumber, baseFrom);int baseTo = 8;//十进制转为八进制String result = convertFromDecimal(decimalNumber, baseTo);//输出结果System.out.println("The binary equivalent of decimal number " + decimalNumber + " is: " + binaryResult);}
}

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

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

相关文章

[协议]TCP协议

TCP,UDP协议工作在传输层 TCP基于连接; UDP基于非连接 TCP三次握手 UDP:不能保证丢包,传输稳定性不如TCP;

场外期权怎么做?

对于中国的投资者而言,场外期权交易目前主要由特定的券商提供,并且仅对机构开放。个人投资者无法直接参与此类交易,但可以通过与这些券商合作的机构公司进行询价和下单。场外期权交易涉及一系列严谨的步骤,以下是其基本流程&#…

QT中将资源文件(image、qss、qm等)封装到静态库中,程序该如何引用静态库中的资源文件

1、静态库 2、主程序中使用第三方库中的资源文件 核心代码: int main(int argc, char *argv[]) {QApplication a(argc, argv

【C++】优先级队列仿函数

目录 一.priority_queue的使用 二.仿函数 三、priority_queue的模拟实现 首先,我们先来了解一下什么是优先级队列 priority_queue,翻译为优先级队列,是一种容器适配器 底层容器可以是任何标准容器类模板,也可以是其他特定设计…

面试一个多月,我上岸了!

大家好,我是枫哥,🌟阿里云技术专家、📝资深面试官、🌹Java跳槽网课堂创始人。拥有多年一线研发经验,曾就职过科大讯飞、美团网、平安等公司。目前组建的团队,专注Java技术分享,一对一…

PromptPort:为大模型定制的创意AI提示词工具库

PromptPort:为大模型定制的创意AI提示词工具库 随着人工智能技术的飞速发展,大模型在各行各业的应用越来越广泛。而在与大模型交互的过程中,如何提供精准、有效的提示词成为了关键。今天,就为大家介绍一款专为大模型定制的创意AI…

九、从0开始卷出一个新项目之瑞萨RZN2L生产烧录固件(jflash擦写读外挂flash)

目录 七、生产烧录固件(jflash擦/写/读外挂flash) 7.1 flash母片读写 7.2 jflash擦/写/读外挂flash 九、从0开始卷出一个新项目之瑞萨RZN2L 七、生产烧录固件(jflash擦写读外挂flash) 七、生产烧录固件(jflash擦/写/读外挂flash) 7.1 flash母片读写 略 7.2 jflash擦/写/读…

【Java】使用 BeanUtils.copyProperties 11个坑(注意事项)

目录 背景 坑1:类型不匹配 坑2:属性名称不一致 坑3:BeanUtils.copyProperties 是浅拷贝 坑4:Null 值覆盖 坑5:注意引入的包 坑6:Boolean 类型数据 is 开头属性的坑 坑7:查不到字段引用 …

【Linux】常用基本指令汇总

前言: 本章将介绍Linux操作系统常用的基本指令,另外,使用这些指令编辑一个shell脚本,方便大家理解使用。 目录 常用指令whoamipwdls关于iNode的解释验证标识文件的方式 cdtouchmkdir(重要)treemdir指令 &a…

Jmeter断言、关联、脚本录制

Jmeter断言 断言:让程序自动判断预期结果和实际结果是否一致 提示: Jmeter在请求的返回层面有个自动判断机制(响应状态码 2xx:成功,4xx/5xx:失败)但是请求成功了,并不代表结果一定正确,因此需要检测机制…

【保姆级图文教程】QT下载、安装、入门、配置VS Qt环境

【保姆级图文教程】QT下载、安装、入门、配置VS Qt环境-CSDN博客 0.QT介绍 QT 是一个跨平台的应用程序开发框架,它提供了丰富的工具和类库,用于开发图形用户界面(GUI)程序。Qt 提供了 C 编程语言接口,同时也支持其他…

王学岗鸿蒙开发(北向)——————(一)鸿蒙开发环境的搭建与ArkTs介绍

1,鸿蒙系统开始研发的时间是在2012年。 2,目前鸿蒙有两个开发:HarmonyOS和OpenHarmony,前者内聚AOSP(Android的东西),前者是双框架结构,后者不是双框架结构,没有内置安卓。 3,Harmony地址 4,我们…

文件上传漏洞之upload-labs

前提: 本文中的以xshell命名的均为以密码为admin的一句话木马,而shell命名的则是由冰蝎工具生成的木马。 pass-01:js前端验证 测试性的上传一个一句话木马,发现被拦截了,而且根据推测大概率是前端检测,于…

国内PLM系统厂商,国内PLM系统哪个公司最受欢迎

国内PLM系统厂商,国内PLM系统哪个公司最受欢迎 国内PLM系统厂商中,要确定哪个公司的产品最受欢迎,需要考虑多个因素,包括市场份额、客户评价、技术实力、产品线完整性以及服务支持等。虽然无法直接给出一个具体的“最受欢迎”的排名&#xff…

闲鱼无货源-高级班,最全·最新·最干,紧贴热点 深度学习(17节课)

课程目录 1-1:闲鱼潜规则_1.mp4 2-2:闲鱼的基础操作-养号篇_1.mp4 3-3:闲鱼实战运营-选品篇(一)_1.mp4 4-4:闲鱼实战运营-选图视频篇_1.mp4 5-5:闲鱼实战运营-标题筒_1.mp4 6-6&#xff1…

伯克希尔也被ST?

地球(最)贵股票突然闪崩,美股故障再次上演。昨晚齐刷刷一片的美股出现行情异常,伯克希尔、蒙特利尔银行、巴里克黄金等股票股价跌幅超过98%。其中,巴菲特旗下伯克希尔哈撒韦A类股股价更是暴跌99.97%,股价从…

Java集合简略记录

一、集合体系结构 单列集合:Collection 双列集合:Map 二、单列集合 List系列集合:添加的元素是有序、可重复、有索引 有序指的是存和取的顺序是一致的,和之前排序的从小到大是没有任何关系的 Set系列集合:添加的元素是…

FL Studio21.2.8中文版水果音乐制作的革新之旅!

在数字化浪潮的推动下,音乐制作领域经历了翻天覆地的变化。从最初的模拟技术到如今的全数字化处理,音乐制作的门槛被大幅降低,越来越多的音乐爱好者和专业人士开始尝试自行创作和编辑音乐。在这个过程中,各种专业音乐制作软件成为…

yolov8逐步分解(9)_训练过程之Epoch迭代过程

yolov8逐步分解(1)--默认参数&超参配置文件加载_yolov8 加载yaml配置 预测-CSDN博客 yolov8逐步分解(2)_DetectionTrainer类初始化过程_train and val are required in all data yamls.-CSDN博客 yolov8逐步分解(3)_trainer训练之模型加载_yolov8 加载模型-CSDN博客 YOL…

TCP 建链(三次握手)和断链(四次握手)

TCP 建链(三次握手)和断链(四次挥手) 背景简介建链(三次握手)断链(四次挥手)序号及标志位延伸问题为什么建立连接需要握手三次,两次行不行?三次握手可以携带数…