package com.cn;
public class TestT {
public static char zero = "0".charAt(0);
public static void main(String []args){
String x = "00000001";
String y = "00100001";
System.out.println(x+" + "+y+" = "+left(Long.toBinaryString(toLong(x)+toLong(y)),8));
}
public static long toLong(String s){
long num = s.charAt(s.length()-1)-zero;
for(int i=s.length()-1;i>0;i--){
num += Integer.valueOf(s.charAt(i)-zero)*(2<<(s.length()-2-i));
}
return num;
}
public static String left(String s,int pos){
StringBuffer sb = new StringBuffer();
if(s.length()<pos){
for(int i=0;i<pos-s.length();i++){
sb.append("0");
}
}
return sb.toString()+s;
}
}
对于二进制的字符串进行二进制整数转换,并进行二进制输出,前面补0
最新推荐文章于 2021-04-07 14:22:00 发布