Java关于十进制转各种进制的原理分析及源码 您所在的位置:网站首页 十进制转换成其他进制的方法 Java关于十进制转各种进制的原理分析及源码

Java关于十进制转各种进制的原理分析及源码

2024-04-19 04:25| 来源: 网络整理| 查看: 265

本文已参与「新人创作礼」活动,一起开启掘金创作之路

在这里插入图片描述

本篇文章详细到位地介绍进制之间的转换,并且附上了Java代码(其他语言类似),以便读者更好理解进制之间的转换,并且能够通过笔者提供的源码进行快速准确的进制转化,希望能帮助到大家。 这里再提供一些二进制、八进制、十六进制的网站,供读者前往学习哦!

二进制 八进制 十六进制

十进制转二进制

首先,十进制转换为二进制的时候,整数部分和小时部分的转换是不一样的。 ==整数部分==:首先对十进制数(如图所示的29),进行除2并取余,将余数写到右边,将得到的商不断进行之前的操作,直到商为0。最后得到的二进制数就是,将得到的余数从下往上读。 ==小数部分==:如第二例子所示,我们将要进行转换的十进制小数进行乘二取整,就是乘2得到的数的个位作为右边的得数,并且将各个位恢复成0,继续之前的操作,直到小数部分为0。从上往下念就是我们要转换的二进制数啦。

在这里插入图片描述

十进制转八进制

做法和十进制转换为二进制的差不多,只是将除数二变为8罢了。

十进制转十六进制

做法和十进制转换为二进制的差不多,只是将除数二变为16罢了。 还有一个要注意的点是:十六进制发表示,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,FF,分别表示1-16。

各种进制向十进制的转换 前面介绍了各种十进制转其他进制的方法,为了文章的完整性和补充,这里再介绍一下其他进制向十进制的转换方法。

在这里插入图片描述 上图是二进制转十进制的方法,其他进制十进制时,只要将上图所示公式中的底数2改成相应的进制;比如二进制是2^(n-1); 八进制是8^(n-1); 十六进制是16^(n-1); 举几个例子来看看吧,对于二进制数110101:x = 1 + 02 + 122 + 0222 + 12222 + 122222; 八进制数721:x = 1 + 28 + 788; 十六进制数A962:x = 2 + 6*16 + 9 * 16 *16 + 10 *16 *16 *16;(A十六进制中A表示10) 这个的代码笔者也加到了上面的源码中,加了注释。有需要的读者可以去复制下来学习使用。

package monster; /* * 该程序用来实现进制之间的转换 * 有二进制、八进制、十进制和十六进制 */ import java.util.*; public class Conversion { public static void main(String[] args) { Conversion a = new Conversion(); // 申明对象 System.out.println("please input an decimal number to change:"); Scanner in = new Scanner(System.in); int num = in.nextInt(); a.binary(num); // 调用对象的方法 a.octal(num); a.hexadecimal(num); in.close(); } public void binary(int num){ // 十进制转二进制 System.out.println("the reverse binary number is:"); while(true){ System.out.print((num%2) +" "); num = num/2; if(num == 0) { break; } } System.out.println(); } public void octal(int num){ // 十进制转八进制 System.out.println("the decimal number is:"); while(true){ System.out.print((num%8) +" "); num = num/8; if(num == 0) { break; } } System.out.println(); } public void hexadecimal(int num){ // 十进制转十六进制 System.out.println("the hexadecimal number is:"); while(true){ System.out.print((num%16) +" "); num = num/16; if(num == 0) { break; } } System.out.println(); } }

下面是代码结果: 在这里插入图片描述

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有