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

zhouhaigang.love的博客

喜欢冬日黄昏那冻住的山

 
 
 

日志

 
 

十进制转二进制的方法  

2008-03-05 19:23:42|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

//10进制->2进制
String a = "-1195";//输入数值
BigInteger src = new BigInteger(a);//转换为BigInteger类型
System.out.println(src.toString(2));//转换为2进制并输出结果

//2进制->10进制
String a = "10010101011";//输入数值
BigInteger src = new BigInteger(a, 2);//转换为BigInteger类型
System.out.println(src.toString());//转换为2进制并输出结果

由此可见,有2点要注意:
1. BigInteger的构造函数
BigInteger(String src)默认参数字符串为10进制数值
BigInteger(String src, int x)第2个参数x是指定第一个参数src的进制类型

2. toString方法
toString()默认把数值按10进制数值转化为字符串。
toString(int x)把数值按参数x的进制转化为字符串。

 

public class binary {

 public binary() {
  // TODO Auto-generated constructor stub
 }

 public String Transfer(int n){
  int m=0;
  StringBuffer strb=new StringBuffer();
  StringBuffer stra=new StringBuffer();
  while(n!=0){
   m=n%2;
   n=n/2;
   String str=new Integer(m).toString();
   
   strb.append(str);
   System.out.println(strb);
   System.out.println(strb.length());
  }
  for(int i=strb.length()-1;i>=0;i--){
   stra.append(strb.charAt(i));
  }
  return stra.toString();
 }
 public static void main(String[] args) throws InterruptedException {
  // TODO Auto-generated method stub
  int n=123;
      String str=new binary().Transfer(n);
      System.out.println(str);
 }
 
}

  评论这张
 
阅读(106)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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