zoukankan      html  css  js  c++  java
  • Java中通过代码得到int类型数值的二进制形式

    一、完整代码

    public class BigInteger {
    
        int sing;
        byte[] val;
        
        public BigInteger(int val){
            // 将传递的初始值,按位取值,存入字节数组中
            int val2 = val;
            int i=0;
            while(val/2!=0){
                val = val/2;
                i++;
            }
            i++;
            this.val = new byte[i];
            int j=0;
            while(val2/2!=0){
                this.val[j++] = (byte) (val2%2);
                val2 = val2/2;        
            }
            this.val[j]=(byte) (val2%2);
        }
        public static void main(String[] args) {
            System.out.print("请输入要转换为二进制的数:");
            BigInteger bigInteger = new BigInteger(new Scanner(System.in).nextInt());
            for(int i=bigInteger.val.length-1;i>=0;i--){
                System.out.print(bigInteger.val[i]);
            }
        }
    }

    二、核心思想

    1. 以 byte[] 存取二进制
    2. 通过 wile() 对该数不断除2,得到数组应设大小。
    3. 再次通过 while() 对该数的副本不断除2,取余。放入 byte[] 数组
    4. 最后输出

    三、注意事项

    1. 计算数组应设长度时在最后加1:因为数组长度是从1开始,但代码中 i 是从 0 开始。
    2. 数组反向输出?:在取任意进制时,算法是先除得取。最后从最下层至上一层。一层一层获取余数。并作为高位至代位摆放
  • 相关阅读:
    Pythonlistsort()
    [转]Python中文乱码问题深入分析
    使用dom4j时SelectNodes()方法报错
    Xpath语法
    wust2012级软件工程新生经验交流会草稿
    Eclipse中部分快捷键
    Dom4j解析XML学习代码
    html5 cocos2d
    mfc mfc100ud.dll丢失问题
    c# 类操作 窗体
  • 原文地址:https://www.cnblogs.com/debjJava/p/12052507.html
Copyright © 2011-2022 走看看