¿Cuál es el resultado del siguiente código?
public class t1 {
public static void main(String[] args) {
int i=10;
while(i>0){
i = i +1;
if(i==10){
break;
}
}
System.out.println("i=" + i);
}
}
i = -2147483648
porque:
01111111 11111111 11111111 11111111
00000000 00000000 00000000 00000000
-------------------------------------------------- ------------------
10000000 00000000 00000000 00000000
A juzgar por el bit de signo, el bit más alto es 1, que es un número negativo. Salta del juicio en while y luego convierte de binario a decimal. El resultado es i = -2147483648