Convertidor numero 1

Conversor de binario a decimal

Actualmente estoy haciendo una tarea para la universidad, donde no puedo usar ciertas expresiones, como las de arriba, y mirando la tabla ASCII, logré hacerlo. Es un código mucho más complejo, pero podría ayudar a otros que estén restringidos como yo.
Otra limitación fue el hecho de que no pude usar ciclos repetitivos, por lo tanto, un ciclo for (que hubiera sido perfecto) tampoco se puede usar. Esto nos limita un poco, pero de nuevo, ese es el objetivo. Como sólo necesitaba dos dígitos (tomando las dos últimas cifras), un simple charAts lo resolvió:
Sin entrar demasiado en las matemáticas, simplemente estamos aislando las unidades los dígitos de un número. Verás, como sólo tenemos en cuenta del 0 al 9, dividir por un múltiplo de 10 es como crear una “caja” donde guardarlo (piensa en cuando tu profesor de primer grado te explicó lo que era una unidad y una centena). Así que:
Siempre que exista la más mínima posibilidad de que la Cadena dada no contenga un Entero, hay que manejar este caso especial. Lamentablemente, los métodos estándar de Java Integer::parseInt e Integer::valueOf lanzan una NumberFormatException para señalar este caso especial. Por lo tanto, tiene que utilizar excepciones para el control de flujo, lo que generalmente se considera un mal estilo de codificación.

Convertidor de decimal a binario con pasos

No conozco ningún método en la BCL que sea capaz de convertir números a cualquier base, así que tendrías que escribir tu propia pequeña función de utilidad. Un ejemplo sencillo sería así (ten en cuenta que seguramente se puede hacer más rápido sustituyendo la concatenación de cadenas):
El uso de un buffer de array en lugar de la concatenación de cadenas para construir la cadena resultante da una mejora de rendimiento especialmente en números grandes (ver método IntToStringFast). En el mejor de los casos (es decir, la entrada más larga posible) este método es aproximadamente tres veces más rápido. Sin embargo, para números de 1 dígito (es decir, 1 dígito en la base de destino), IntToString será más rápido.
Hace poco escribí un blog sobre esto. Mi implementación no utiliza ninguna operación de cadena durante los cálculos, lo que la hace muy rápida. La conversión a cualquier sistema numérico con base de 2 a 36 está soportada:
Llego tarde a la fiesta, pero he compuesto las respuestas anteriores y las he mejorado. Creo que estos dos métodos son más rápidos que cualquier otro publicado hasta ahora. Fui capaz de convertir 1.000.000 de números de y a base 36 en menos de 400ms en una máquina de un solo núcleo.

Leer más  El numero 2 es primo

Convertidor de binario a octal

Actualización: Después de probar esto varias veces encontré un error (comillas dobles en el RegExp), así que lo arreglé. ¡SIN EMBARGO! Después de un buen rato de pruebas y de haber leído el post de almaz – me di cuenta de que no podía conseguir que los números negativos funcionaran.
Así que lo mejor que se puede hacer, en este caso, es convertir el 3,14159265 en una cadena y luego sólo convertir la cadena. Debido a lo anterior, también hace que sea fácil de convertir los números negativos porque el signo menos sólo se convierte en 0x26 en la parte delantera del valor.
Así que lo que hice fue al determinar que la variable contiene un número – sólo convertirlo en una cadena y convertir la cadena. Esto significa para todo el mundo que en el lado del servidor tendrá que descifrar la cadena entrante y luego determinar que la información entrante es numérica. Usted puede hacer eso fácilmente simplemente añadiendo un “#” al frente de los números y “A” al frente de una cadena de caracteres que regresa. Véase la función toHex().
Después de otro año y mucho pensar, decidí que la función “toHex” (y también tengo una función “fromHex”) realmente necesitaba ser renovada. La cuestión era “¿Cómo puedo hacer esto de forma más eficiente?”. Decidí que a una función “to/from” hexadecimal no debería importarle si algo es una parte fraccionaria, pero al mismo tiempo debería asegurar que las partes fraccionarias se incluyan en la cadena.

Conversor de binario a hexadecimal

El sistema numérico decimal es el más utilizado y el sistema estándar en la vida cotidiana. Utiliza el número 10 como base (radix). Por lo tanto, tiene 10 símbolos: Los números del 0 al 9; es decir, el 0, el 1, el 2, el 3, el 4, el 5, el 6, el 7, el 8 y el 9.
Al ser uno de los sistemas numéricos más antiguos conocidos, el sistema numérico decimal ha sido utilizado por muchas civilizaciones antiguas. La dificultad de representar números muy grandes en el sistema decimal fue superada por el sistema numérico hindú-árabe. El sistema numérico hindú-árabe da posiciones a los dígitos de un número y este método funciona utilizando potencias de la base 10; los dígitos se elevan a la enésima potencia, de acuerdo con su posición.
La conversión de decimal a hexadecimal puede realizarse aplicando el algoritmo de división repetida y resto. En pocas palabras, el número decimal se divide repetidamente por el radix 16. Entre estas divisiones, los restos dan el equivalente hexadecimal en orden inverso.
lou8085 2021-03-08 07:07:14Sitio web muy útil – gracias! Invitado 2021-02-25 19:14:40¿Cómo es que el hexadecimal para 18, 19, etc es 12, 13 14…? Pensé que los hexadecimales no podían hacer esos números? ¿por qué no es 2A? Lo siento, sólo me preguntaba! Eugene Amoah 2021-01-29 12:27:16¿Por qué es que los decimales no se puede convertir de base a los números o figursVytautas 2020-11-26 06:49:32Buena explicación.

Acerca del autor

Rebeca Sánchez

Rebeca Sánchez

Ver todos los artículos