算法(二)十进制转换为二进制

    xiaoxiao2022-07-04  108

    1. 从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。

       public static void main(String[] args) {     Demo3 d2=new Demo3();     d2.arithmetic1();     d2.arithmetic2(); }    private void  arithmetic1(){        //思路是借鉴的        Scanner input=new Scanner(System.in);          System.out.print("请输入一个十进制数");          int number=Integer.parseInt(input.nextLine());          int y=0;//余数          String currentValue="";//二进制输出数          while(number>0)          {              currentValue=currentValue+number%2;              number/=2;          }          StringBuilder sb=new StringBuilder();          sb.append(currentValue);          int len=Math.abs(8-sb.length()%8);          //补齐八位          for(int k=0;k<len;k++)          {              sb.append("0");          }          //每4位插入一个逗号间隔          for (int i = 4; i < sb.length(); i+=5) {              sb.insert(i, ",");         }          System.out.println("二进制输出为:"+sb.reverse().toString());   }     private void arithmetic2() {         Scanner input=new Scanner(System.in);          System.out.print("请输入一个十进制数");          int number=Integer.parseInt(input.nextLine());         String binary=Integer.toBinaryString(number);//调用api直接转换         //补齐八位          StringBuilder sb=new StringBuilder();          sb.append(binary);          //反转过来          sb=sb.reverse();        int len=Math.abs(8-sb.length()%8);          //补齐八位          for(int k=0;k<len;k++)          {              sb.append("0");          }          //每4位插入一个逗号间隔          for (int i = 4; i < sb.length(); i+=5) {              sb.insert(i, ",");         }          System.out.println("二进制输出为:"+sb.reverse().toString());     }

    运行结果:

    最新回复(0)