Imprimir valores binarios en Java

Por qué es la salida de este programa de Java 8y 9mientras intentamos imprimir 010y 011respectivamente:

public class Test{
   public static void main(String str[]){ 
      System.out.println(011); 
   }
}

¿Cuál es la razón?

Respuesta 1

En Java, la conversión predeterminada de entero a cadena es base 10. Si desea una raíz diferente, debe especificarla explícitamente. Por ejemplo, puede convertir un valor entero en una cadena binaria usando:

Integer.toString(value, 2);

Del mismo modo, puede convertirlo a un valor octal con:

Integer.toString(value, 8);

A menos que el valor sea 0, la cadena no tendrá un cero inicial. Si desea un 0 inicial, deberá anteponerlo. Alternativamente, puede formatearlo String.format()y especificar un relleno cero y un ancho mínimo para la cadena convertida:

String.format("%1$03o", value); // the "1$ in the format string is optional here

PD: No está claro en su pregunta cuál es el problema exacto. Parece que está convirtiendo de un valor entero a una cadena. Sin embargo, si el problema es que está intentando leer la cadena "011" y se está leyendo como el valor entero 9, esto se debe a que un 0 inicial fuerza la interpretación como un valor octal. Tendrá que leerlo como un valor de cadena y luego especificar explícitamente la conversión de cadena a entero para que sea base 10:

int val = Integer.valueOf(stringValue, 10);
Respuesta: 2

010Es la interpretación de la 10base octal que es 8. Y de manera similar 011es la interpretación de 11en octal basequé está 9.

Anteponer un integercon 0hace que se interprete en octal base.

Del mismo modo, puede intentar imprimir 0x10, que es una hexadecimalrepresentación, y le dará 16como salida.

Respuesta: 3

- Si desea convertir el entero a datos binarios, use el toBinaryString()método.

P.ej:

int i = 8;
Integer.toBinaryString(i);
Respuesta: 4

Utilicé la biblioteca de soporte de diseño de Android e implementé pestañas en mi aplicación de Android usando tablayout, fragmentos y visor. El deslizamiento de pestañas funciona perfectamente. Pero cuando agrego más pestañas (digamos 7), ...

Clase de ejemplo con patrón de diseño singleton. clase Singleton {instancia Singleton privada estática; int privado x; Singleton privado () {x = 5; } ...

Tengo un JFrame lleno de varios componentes. Cuando lo ejecuto, solo aparece una pequeña porción. Tengo que cambiar el tamaño de la ventana (arrastre el borde con el cursor) para que todo aparezca. ¿Algúna idea de cómo arreglar esto?

Estoy trabajando con cadenas muy grandes cuya longitud varía de 0 a 2 * 10 ^ 5. Cuando intento imprimir las cadenas en la consola o usando la línea de comandos a través de System.out.println, no aparece nada. Solo cadenas / ...