public class SommeBinaire { public static void main(String[] args) { int a = Integer.parseInt("1", 2); int b = Integer.parseInt("1", 2); int c = a + b; System.out.println(Integer.toBinaryString(c)); } }
/** * @param a * l'ecriture en base 2 d'un nombre entier * @param b * l'ecriture en base 2 d'un nombre entier * @return l'ecriture en base 2 de la somme de a et b */ public static String sommeBinaire(String a, String b) { int iA = a.length(); int iB = b.length(); boolean bA, bB, bC, bR = false; StringBuilder c = new StringBuilder(); while (iA > 0 || iB > 0) { bA iA > 0 && a.charAt(--iA) '1'; bB iB > 0 && b.charAt(--iB) '1'; bC = bA ^ bB ^ bR; bR = bA & bB | bA & bR | bB & bR; c.insert(0, bC ? '1' : '0'); } if (bR) { c.insert(0, '1'); } return c.toString(); }