El manejo de operaciones aritméticas simples con números enteros mayores al límite máximo permitido se debe manejar utilizando otro tipo de estrategias. Se puede utilizar la clase BigInteger que tiene implementados métodos para suma y multiplicación de números enteros grandes, o se puede hacer un ejercicio de programación utilizando la cadenas de caracteres (ó arreglos de caracteres) y el procedimiento de suma elemental que consiste en alinear los números e ir sumando los dígitos menos significativos de cada número y acumulando la respuesta en una nueva cadena.
A continuación se presenta una primera versión del método de suma de números enteros grandes:
public static String suma(String nA, String nB) { String respuesta=""; int posA = nA.length()-1; int posB = nB.length()-1; int resto = 0; int digA, digB; while(posA>=0 || posB>=0) { digA = (posA>=0) ? nA.charAt(posA)-'0': 0; digB = (posB>=0) ? nB.charAt(posB)-'0': 0; int c = digA+digB+resto; if(c>=10) { resto=1; c=c-10;} else resto=0; respuesta=c+respuesta; posA--; posB--; } if(resto>0) respuesta=resto+respuesta; return respuesta; }
Hola, podrían explicarme para que funciona el -'0' en esta sección digA = (posA>=0) ? nA.charAt(posA)-'0': 0;
ResponderBorrarEspecíficamente que hace??
Gracias!!
nunca respondio? o si alguien sabe, podria decirlo por favor
ResponderBorrarSupongo que lo hace para convertir a entero el caracter que extrajo de la cadena. Le resta cero para no alterar el dígito.
ResponderBorrarnosean pendejos
ResponderBorrarkyrie 5 spongebob
ResponderBorrarlouboutin shoes
golden goose slide
golden goose outlet
vapormax
hermes bag
nike air max
yeezys
birkin bag
xiaofang20191218
yeezy
ResponderBorraroff white outlet online
bape hoodie
kyrie 7
supreme hoodie
ggdb
yeezy shoes
paul george shoes
bape t shirt
off white