suma numero hexadecimales hexadecimal hexa cualquier convertir calculadora binario binaria java int

hexadecimales - convertir un numero decimal a cualquier base java



¿Cómo trabajar con otros números base en Java? (5)

La multiplicación de un binario con un entero:

  • Si es un poder de dos, entonces solo a la izquierda: cambia todos los dígitos al valor de exponentes que queda
  • Si no es una potencia de dos, encuentre la mayor potencia de dos más pequeñas que el valor con el que desea multiplicar su c. Haz lo mismo para el resto y así sucesivamente. Al final solo resume todos los valores.

Para su ejemplo con c = 10001 (base 2) * 10 (base 10), esto significa (10 = 2 ^ 3 + 2 ^ 1)

int c=10001 int result=c*1000+c*10 //left-shift 3 + left-shift 1

Pero esta no es una buena manera de manejar este tipo de tareas ... Además, cree que es una mala idea guardar un valor binario en un int. Creo que sería mejor convertir el binario en un número entero antes de usarlo.

Chicos si el int c = 10001; que es un valor binario. Si quiero procesarlo como multiplicarlo por 10, ¿cómo hacerlo?


Puede especificarlo como int c = 0x11 (considere 10001 es 0001 0001, que es 11 en hexadecimal)

public static void main(String[] args) throws Exception { int c = 0x11; // 10001 int d = 10; // ten decimal int d = 0x2; // ten binary 0010 - see table below System.out.println(c); System.out.println(c*d); System.out.println(c*e); }

conversión decimal binario

  • 0 0000
  • 1 0001
  • 2 0010
  • 3 0011
  • 4 0100
  • 5 0101
  • 6 0110
  • 7 0111
  • 8 1000
  • 9 1001
  • A 1010
  • B 1011
  • C 1100
  • D 1101
  • E 1110
  • F 1111

Tratando

int c = 10001;

como un número binario es realmente extraño. Sería mejor declararlo en cambio como una cadena

String binaryString = "10001";

y luego recorrer cada personaje para realizar cualquier algoritmo de conversión de base que desee.


un "int" no es binario, hexadecimal o decimal, es solo un lugar para almacenar un número. Las variables en sí mismas no tienen una representación hex / dec / binaria específica hasta que las imprima.

Cuando ingresas el número en tu código, tiene una base, pero después de usar la base para procesar lo que escribiste, la base se descarta y el int solo almacena un número.

Entonces, la respuesta a tu pregunta es c * 10 (suponiendo que quisieras decir 10 dec)


Si te entiendo correctamente, quieres hacer esto: Integer.parseInt("10001", 2) , que te dará 17.
Integer.toString también acepta radix como segundo argumento.

Doc: Integer.parseInt (String s, int radix)