zoukankan      html  css  js  c++  java
  • Java进制之间的转换

    牢记这些呀,特别常用!

    1.十进制转成二进制 未补0

    String s = Integer.toBinaryString(n)  //将十进制数转成字符串,例如n=5 ,s = "101"
    

     十进制转成二进制 补0

    //输出结果:00000100
    String bin = Integer.toBinaryString(4);
    DecimalFormat df = new DecimalFormat("00000000");
    String format = df.format(Integer.valueOf(bin));
    System.out.println(format);         

    2.二进制转成十进制

    方法1:使用Integer.parseInt()实现二进制转换为十进制

    import java.util.Scanner;
    class BinaryToDecimal {
        public static void main(String args[]){
           Scanner input = new Scanner( System.in );
           System.out.print("Enter a binary number: ");
           String binaryString =input.nextLine();
           System.out.println("Output: "+Integer.parseInt(binaryString,2));
        }
    }
    

    方法2:使用自定义逻辑实现二进制转换十进制

    public class Details {
        public static void main(String args[]) {
            Details obj = new Details();
            System.out.println("110 --> " + obj.BinaryToDecimal(110));
            System.out.println("1101 --> " + obj.BinaryToDecimal(1101));
        }
    
    
        public int BinaryToDecimal(int binaryNumber) {
            int decimal = 0;
            int p = 0;
            while (true) {
                if (binaryNumber == 0) {
                    break;
                } else {
                    int temp = binaryNumber % 10;
                    decimal += temp * Math.pow(2, p);
                    binaryNumber = binaryNumber / 10;
                    p++;
                }
            }
            return decimal;
        }
    }

    3.十进制转成八进制

    //十进制转八进制
    String octalString = Integer.toOctalString(9);
    System.out.println("octalString====="+octalString);    

    4.八进制转成十进制

    public class DecimalFormatTest {
        public static void main(String[] args) {
            int octal = 116;
            int decimal = convertOctalToDecimal(octal);
            System.out.printf("%d 八进制 = %d十进制", octal, decimal);
        }
    
        public static int convertOctalToDecimal(int octal) {
            int decimalNumber = 0, i = 0;
            while(octal != 0) {
                decimalNumber += (octal % 10) * Math.pow(8, i);
                ++i;
                octal/=10;
            }
            return decimalNumber;
        }
    
    }

    5.十进制转成十六进制

    //补充 十进制转16进制  输出结果:12
    String hexString = Integer.toHexString(18);
    System.out.println("hexString====="+hexString);    

    6.十六进制转成十进制

    import java.util.HashMap;
    import java.util.Map;
    
    public class DecimalTest {
    
        public static void main(String[] args) {
            //十六进制转10进制
           String hexString = Integer.toHexString(18);
            int covert = covert(hexString);
            System.out.println("covert======="+covert);
    
        }
         
        public static int covert(String content){
            int number=0;
            String [] HighLetter = {"A","B","C","D","E","F"};
            Map<String,Integer> map = new HashMap<>();
            for(int i = 0;i <= 9;i++){
                map.put(i+"",i);
            }
            for(int j= 10;j<HighLetter.length+10;j++){
                map.put(HighLetter[j-10],j);
            }
            String[]str = new String[content.length()];
            for(int i = 0; i < str.length; i++){
                str[i] = content.substring(i,i+1);
            }
            for(int i = 0; i < str.length; i++){
                number += map.get(str[i])*Math.pow(16,str.length-1-i);
            }
            return number;
        }
    
    }
    我话讲完!谁赞成?谁反对?
  • 相关阅读:
    (转)flash的Socket通讯沙箱和安全策略问题
    as3 页游中,新手指导中,屏蔽所有交互对象,但除了指定交互对象可用的方法【转http://blog.csdn.net/linjf520/article/details/9450945】
    位运算 (&|)与--或 一位数组表示多种意思~~ 与--或
    SQL语句
    stage.width/height和stage.stageWidth/stageHeight的区别
    解决Mac OS Adobe Flash Builder 4.7 java heap space 问题【转】
    一个loader加载多个swf
    加濾鏡效果GlowTween
    [AS3]as3用ByteArray来对SWF文件编码加密实例参考
    屏幕震动效果
  • 原文地址:https://www.cnblogs.com/wffzk/p/15523379.html
Copyright © 2011-2022 走看看