JAVA 十进制二进制互转 递归方法

public class test {

    public static void main(String[] args) {

        

           System.out.println(“位数:”+binary(35)+”\n二进制:”+strNum);

           decimal(“100011”);           

           System.out.println(“十进制:”+dl);

           

    }    

    private static String strNum=””;

    private static int binary(int decimal) {        

        if(decimal%2!=0)

        {

            strNum=”1″+strNum;

        }else {            

            strNum=”0″+strNum;            

        }

        if (decimal/2==0) {            

            return 1;

        }        

        return 1+binary(decimal/2);     

         

    }

    private static int num=1;

    private static int dl=0;

    private static void decimal(String binary)

    {        

        if(binary.substring(binary.length()-num,binary.length()-num+1).equals(“1”)) {

            if(num==1)

            {

                dl+=1;

            }

            else {

                int z=1;

            for (int i = 1; i < num; i++) {

                z=z*2;

            }

            dl+=z;

            }

        }

        ++num;

        if (num>binary.length()) {

            return;

        }

        decimal(binary);

    }

    原文作者:进制转换
    原文地址: https://blog.csdn.net/qq_38608678/article/details/80474364
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞