• 【实操】进制转换:除基倒取余法


    一、原理:除基倒取余法

    以10进制转2进制为例:输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数。
    所有进制之间的转换都是如此,2可以换成任何数字。十进制转二进制、八进制、十六进制、64进制,全部如下。

    二、具体的JAVA实现:

    2.1 10进制数字转n进制:

    public class Main {
    
        public static void main (String[] args) {
            int n = 64;//需要转换的数字
            int m = 5; //转换的进制(如果大于10,需考虑使用其他字符表示)
    
            int t = 0;  //用来记录位数
            int bin = 0; //用来记录最后的二进制数
            int r = 0;  //用来存储余数
            while(n != 0){
                r = n % m;
                n = n / m; //注意:n为int,可以保证其肯定是一个整数,且是进制转换需要的整数
                bin += r * Math.pow(10,t); //pow函数:10的t次方
                t++;
            }
            System.out.println(bin);
        }
    }
    
    

    2.2 n进制数字转10进制:

    public class Main {
    
        public static void main (String[] args) {
            int n = 224;//需要转换的数字
            int m = 2; //进制
            int des = 0; //储存转换后的结果
    
            String s = new StringBuilder(String.valueOf(n)).reverse().toString();  //reverse使字符串倒序
            for (int i = 0 ;i<s.length();i++){
                int charIndex = s.charAt(i)-'0';
                des += charIndex*Math.pow(m, i);
            }
    
            System.out.println(des);
        }
    }
    

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

  • 相关阅读:
    六. 异常处理5.多重catch语句的使用
    六. 异常处理4.try和catch的使用
    六. 异常处理3.未被捕获的异常
    六. 异常处理2.异常类型
    对mysql数据库中字段为空的处理
    mysql 中实现多条数据同时更新
    java 用PDFBox 删除 PDF文件中的某一页
    java7 java MethodHandle解析
    【十四】jvm 性能调优实例
    【十三】jvm 性能调优工具之 jstack
  • 原文地址:https://www.cnblogs.com/buwuliao/p/9196544.html
Copyright © 2020-2023  润新知