读书人

二进制跟十进制进行转换

发布时间: 2012-09-08 10:48:07 作者: rapoo

二进制和十进制进行转换

package com.lizhihui.cn;/** * 十进制数据和二进制进行转换 * @author 李智慧 * @date Mar 24, 2012 * @company 广东南航易网通电子商务有限公司 */public class TransLate {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString rString = "1101011101";int n = getSJZ(rString);System.out.println(rString+"得到的十进制数值是:"+n);String result = getEJZ(n);System.out.println(n+"得到的二进制数值是:"+result);}/** * 从二进制获取十进制值 * @param string * @return */private static int getSJZ(String string){int z = 0;char[] c = string.toCharArray();for(int j = 0;j < c.length; j ++){int q = Integer.parseInt(c[j]+"");z += q*getCF(c.length-1-j);}return z;}/** * 从十进制获取二进制数值 * @param z * @return */private static String getEJZ(int z){String result = "";int num;int ys;int len;if(z < 2){result = z +"";}else {while(true){ys = z % 2;len = z;z = z / 2;if(z == 1){if(len == 3){result = 11 + result;}else if(len == 2){result = 10 + result;}break;}else {result = ys + result;}}}return result;}/** * 2的n次方值 * @return */public static int getCF(int n){int result = 0;if(n == 0){result = 1;}else {result = getCF(n-1)*2;}return result;}}

?

读书人网 >Web前端

热点推荐