注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

jiwenxu的博客

CODE

 
 
 

日志

 
 

int、char、double与byte相互转换的程序[转]  

2006-11-23 12:10:11|  分类: J2SE |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
这些还没测试过,我发现自己基础真的很差,这些东西应该不用查的.郁闷
int、char、double与byte相互转换的程序
//整数到字节数组的转换
  public static byte[]intToByte(int number) {
    inttemp = number;
    byte[]b=new byte[4];
    for(int i=b.length-1;i>-1;i--){
      b[i]= newInteger(temp&0xff).byteValue();      //将最高位保存在最低位
      temp= temp >>8;      //向右移8位
    }
    returnb;
  }

  //字节数组到整数的转换
  public static intbyteToInt(byte[] b) {
    ints = 0;
    for(int i = 0; i < 3; i++) {
      if(b[i] >= 0)
        s= s + b[i];
      else


        s= s + 256 + b[i];
      s= s * 256;
    }
    if(b[3] >=0)      //最后一个之所以不乘,是因为可能会溢出
      s= s + b[3];
    else
      s= s + 256 + b[3];
    returns;
  }

  //字符到字节转换
  public static byte[]charToByte(char ch){
    inttemp=(int)ch;
    byte[]b=new byte[2];
    for(int i=b.length-1;i>-1;i--){
      b[i]= newInteger(temp&0xff).byteValue();      //将最高位保存在最低位
      temp= temp >>8;      //向右移8位
    }
    returnb;
  }

  //字节到字符转换


  public static charbyteToChar(byte[] b){
    ints=0;
    if(b[0]>0)
      s+=b[0];
    else
      s+=256+b[0];
    s*=256;
    if(b[1]>0)
      s+=b[1];
    else
      s+=256+b[1];
    charch=(char)s;
    returnch;
  }

  //浮点到字节转换
  public static byte[]doubleToByte(double d){
    byte[]b=new byte[8];
    longl=Double.doubleToLongBits(d);
    for(inti=0;i<b.length;i++){
      b[i]=newLong(l).byteValue();
      l=l>>8;


    }
    returnb;
  }

  //字节到浮点转换
  public static doublebyteToDouble(byte[] b){
    longl;

    l=b[0];
    l&=0xff;
    l|=((long)b[1]<<8);
    l&=0xffff;
    l|=((long)b[2]<<16);
    l&=0xffffff;
    l|=((long)b[3]<<24);
    l&=0xffffffffl;
    l|=((long)b[4]<<32);
    l&=0xffffffffffl;

    l|=((long)b[5]<<40);
    l&=0xffffffffffffl;
    l|=((long)b[6]<<48);


    l|=((long)b[7]<<56);
    returnDouble.longBitsToDouble(l);
  }
BigInteger int1 = BigInteger.valueOf(360).toByteArray();
int m = new BigInteger(byte[]).intValue();
  评论这张
 
阅读(47)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018