이진 문자열에 대해 이진 정수 변환을 하고 이진 출력을 한다.

829 단어 StringClass
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; 
	} 
}

좋은 웹페이지 즐겨찾기