求教一个用java编写二进制加法器问题 如题,要求是从000000开始,到111111结束,并且每次都能够取出其位值,例如:111000,则前三位值a=b=c=1;后三位值为d=e=f=0.然后能够将这abcdef转换成int类型 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这不就是10进制和2进制的互相转换吗?public class Test3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String a = "10110"; String b = "10001"; System.out.println(binaryAdd(a, b)); } /** * 2进制加法器 * * @param a * @param b * @return */ public static String binaryAdd(String a, String b) { return toBinaryString(toInteger(a) + toInteger(b)); } /** * 10进制转2进制 * * @param i * @return */ public static String toBinaryString(int i) { return Integer.toBinaryString(i); } /** * 2进制转10进制 * * @param binary * @return */ public static int toInteger(String binary) { char[] c = binary.toCharArray(); int sum = 0; for (int i = 0; i < c.length; i++) { sum += Integer.parseInt(new String(c, i, 1)) * Math.pow(2, c.length - i); } return sum; }} 修改一下public class Test3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String a = "10110"; String b = "10001"; System.out.println(binaryAdd(a, b)); } /** * 2进制加法器 * * @param a * @param b * @return */ public static String binaryAdd(String a, String b) { return toBinaryString(toInteger(a) + toInteger(b)); } /** * 10进制转2进制 * * @param i * @return */ public static String toBinaryString(int i) { return Integer.toBinaryString(i); } /** * 2进制转10进制 * * @param binary * @return */ public static int toInteger(String binary) { char[] c = binary.toCharArray(); int sum = 0; for (int i = 0; i < c.length; i++) { sum += Integer.parseInt(new String(c, i, 1)) * Math.pow(2, c.length - i-1); } return sum; }} 修改一个 bugpublic class Test3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String a = "10110"; String b = "10001"; System.out.println(binaryAdd(a, b)); } /** * 2进制加法器 * * @param a * @param b * @return */ public static String binaryAdd(String a, String b) { return toBinaryString(toInteger(a) + toInteger(b)); } /** * 10进制转2进制 * * @param i * @return */ public static String toBinaryString(int i) { return Integer.toBinaryString(i); } /** * 2进制转10进制 * * @param binary * @return */ public static int toInteger(String binary) { char[] c = binary.toCharArray(); int sum = 0; for (int i = 0; i < c.length; i++) { sum += Integer.parseInt(new String(c, i, 1)) * Math.pow(2, c.length - i-1); } return sum; }} 不知道你是不是这个意思,既然2进制和10进制都可以互相转换了,那么很多2进制的东西都可以用10进制的方法来解决,public class Test3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String min = "000000"; String max = "111111"; char[] c = null; for (int i = toInteger(min); i <= toInteger(max); i++) { c = String.format("%06d", new Integer(toBinaryString(i))) .toCharArray(); System.out.println("a=" + c[5] + "\tb=" + c[4] + "\tc=" + c[3] + "\td=" + c[2] + "\te=" + c[1] + "\tf=" + c[0]); // System.out.println("abcdef is\t"+i); } } /** * 2进制加法器 * * @param a * @param b * @return */ public static String binaryAdd(String a, String b) { return toBinaryString(toInteger(a) + toInteger(b)); } /** * 10进制转2进制 * * @param i * @return */ public static String toBinaryString(int i) { return Integer.toBinaryString(i); } /** * 2进制转10进制 * * @param binary * @return */ public static int toInteger(String binary) { char[] c = binary.toCharArray(); int sum = 0; for (int i = 0; i < c.length; i++) { sum += Integer.parseInt(new String(c, i, 1)) * Math.pow(2, c.length - i - 1); } return sum; }} java小白 求大神指点控制小球移动的这段代码 java EE问题----求解答!!! jsp文件是否存在问题 JTree 缩进去除 hibernate3.0 dynamic-update="true" 无效 关于程序导数据优化问题~!请教大侠~ 关于多态性 和 异构数组的问题 请高手们看看 我下载了javahelp包!应该怎么设置它的环境变量?不用设置能不能用javax.help包? 通过互联网来访问我的电脑 java中异常类与监听类作用有什么区别 java 窗体传值的问题 如何在一画板上实现双击添加文本框?
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String a = "10110";
String b = "10001";
System.out.println(binaryAdd(a, b));
} /**
* 2进制加法器
*
* @param a
* @param b
* @return
*/
public static String binaryAdd(String a, String b) {
return toBinaryString(toInteger(a) + toInteger(b));
} /**
* 10进制转2进制
*
* @param i
* @return
*/
public static String toBinaryString(int i) {
return Integer.toBinaryString(i);
} /**
* 2进制转10进制
*
* @param binary
* @return
*/
public static int toInteger(String binary) {
char[] c = binary.toCharArray();
int sum = 0;
for (int i = 0; i < c.length; i++) {
sum += Integer.parseInt(new String(c, i, 1))
* Math.pow(2, c.length - i);
}
return sum;
}
}
public class Test3 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String a = "10110";
String b = "10001";
System.out.println(binaryAdd(a, b));
} /**
* 2进制加法器
*
* @param a
* @param b
* @return
*/
public static String binaryAdd(String a, String b) {
return toBinaryString(toInteger(a) + toInteger(b));
} /**
* 10进制转2进制
*
* @param i
* @return
*/
public static String toBinaryString(int i) {
return Integer.toBinaryString(i);
} /**
* 2进制转10进制
*
* @param binary
* @return
*/
public static int toInteger(String binary) {
char[] c = binary.toCharArray();
int sum = 0;
for (int i = 0; i < c.length; i++) {
sum += Integer.parseInt(new String(c, i, 1))
* Math.pow(2, c.length - i-1);
}
return sum;
}
}
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String a = "10110";
String b = "10001";
System.out.println(binaryAdd(a, b));
} /**
* 2进制加法器
*
* @param a
* @param b
* @return
*/
public static String binaryAdd(String a, String b) {
return toBinaryString(toInteger(a) + toInteger(b));
} /**
* 10进制转2进制
*
* @param i
* @return
*/
public static String toBinaryString(int i) {
return Integer.toBinaryString(i);
} /**
* 2进制转10进制
*
* @param binary
* @return
*/
public static int toInteger(String binary) {
char[] c = binary.toCharArray();
int sum = 0;
for (int i = 0; i < c.length; i++) {
sum += Integer.parseInt(new String(c, i, 1))
* Math.pow(2, c.length - i-1);
}
return sum;
}
}
public class Test3 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String min = "000000";
String max = "111111";
char[] c = null;
for (int i = toInteger(min); i <= toInteger(max); i++) {
c = String.format("%06d", new Integer(toBinaryString(i)))
.toCharArray(); System.out.println("a=" + c[5] + "\tb=" + c[4] + "\tc=" + c[3]
+ "\td=" + c[2] + "\te=" + c[1] + "\tf=" + c[0]);
// System.out.println("abcdef is\t"+i); }
} /**
* 2进制加法器
*
* @param a
* @param b
* @return
*/
public static String binaryAdd(String a, String b) {
return toBinaryString(toInteger(a) + toInteger(b));
} /**
* 10进制转2进制
*
* @param i
* @return
*/
public static String toBinaryString(int i) {
return Integer.toBinaryString(i);
} /**
* 2进制转10进制
*
* @param binary
* @return
*/
public static int toInteger(String binary) {
char[] c = binary.toCharArray();
int sum = 0;
for (int i = 0; i < c.length; i++) {
sum += Integer.parseInt(new String(c, i, 1))
* Math.pow(2, c.length - i - 1);
}
return sum;
}
}