Cuando se agregan dos strings binarias, la suma devuelta también es una string binaria.
Ejemplo:
Input : x = "10", y = "01" Output: "11" Input : x = "110", y = "011" Output: "1001" Explanation: 110 + 011 =1001
Aquí, debemos comenzar a sumar desde el lado derecho y cuando la suma devuelta sea más de uno, almacenar el acarreo para los siguientes dígitos.
Veamos un programa para tener un concepto claro del tema anterior.
Ejemplo:
Java
// java program to add two binary strings public class gfg { // Function to add two binary strings static String add_Binary(String x, String y) { // Initializing result String res = ""; // Initializing digit sum int d = 0; // Traversing both the strings starting // from the last characters int k = x.length() - 1, l = y.length() - 1; while (k >= 0 || l >= 0 || d == 1) { // Computing the sum of last // digits and the carry d += ((k >= 0) ? x.charAt(k) - '0' : 0); d += ((l >= 0) ? y.charAt(l) - '0' : 0); // When the current digit's sum is either // 1 or 3 then add 1 to the result res = (char)(d % 2 + '0') + res; // Computing carry d /= 2; // Moving to the next digits k--; l--; } return res; } // The Driver code public static void main(String args[]) { String x = "011011", y = "1010111"; System.out.print(add_Binary(x, y)); } }
Producción
1110010
Publicación traducida automáticamente
Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA