`
sammor
  • 浏览: 409782 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于java里进制的转换问题

阅读更多

关于java里进制的转换问题

收藏个文章:http://caisu.blog.sohu.com/95569313.html

 

 

 

public   static   void   bin(byte   b)   {
char[]   charBits   =   toCharBits(b,   8);
outputWholeBits(charBits);
}

public   static   void   bin(char   b)   {
char[]   charBits   =   toCharBits(b,   16);
outputWholeBits(charBits);
}

public   static   void   bin(short   b)   {
char[]   charBits   =   toCharBits(b,   16);
outputWholeBits(charBits);
}

public   static   void   bin(int   b)   {
char[]   charBits   =   toCharBits(b,   32);
outputWholeBits(charBits);
}

public   static   void   bin(long   b)   {
char[]   charBits   =   toCharBits(b,   64);
outputWholeBits(charBits);
}

public   static   void   bin(float   a)   {
char[]   charBits   =   toCharBits(Float.floatToIntBits(a),   32);
outputFloatBits(charBits);
}

public   static   void   bin(double   a)   {
char[]   charBits   =   toCharBits(Double.doubleToLongBits(a),   64);
outputDoubleBits(charBits);
}

//转二进制数组
static   char[]   toCharBits(long   num,   int   size)   {
char[]   charBits   =   new   char[size];
for   (int   i   =   size-1;   i   > =   0;   --i)   {
        charBits[i]   =   (num   &   1)   ==   0   ?   '0 '   :   '1 ';
        num   > > > =   1;
}
return   charBits;
}

//整数打印,4位一逗号
static   void   outputWholeBits(char[]   charBits){
for(int   i   =   0;   i   <   charBits.length;   i++){
        System.out.print(charBits[i]);
        if((i   %   4   ==   3)&&(i   !=   charBits.length-1))   {
        System.out.print( ", ");
        }
}
System.out.println();
    }

//float打印(符号位1,   指数位8,   尾数位23)
static   void   outputFloatBits(char[]   charBits){
for(int   i   =   0;   i   <   charBits.length;   i++){
        System.out.print(charBits[i]);
        if((i   ==   0)||(i   ==   8))   {
        System.out.print( "   ");
        }
}
System.out.println();
    }

//double打印(符号位1,   指数位11,   尾数位52)
static   void   outputDoubleBits(char[]   charBits){
for(int   i   =   0;   i   <   charBits.length;   i++){
        System.out.print(charBits[i]);
        if((i   ==   0)||(i   ==   11))   {
        System.out.print( "   ");
        }
}
System.out.println();
    }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics