Anteriorment vaig exposar com convertir binari a decimal en Java, ara veurem el procés invers, el qual és convertir un nombre decimal (base 10) a un binari (base 2).
de la mateixa manera vaig a exposar 2 mètodes: un que porta més desenvolupament de l’algoritme i un altre que ja ofereix l’API de Java.
l’algoritme per convertir decimal a binari en Java
la forma desenvolupada implica anar dividint el nombre decimal entre 2, fins arribar a 0. es pren el residu de la divisió (o sigui, el que sobra a l’dividir-lo, la qual cosa pot ser 1 o 0) i es va concatenant en una cadena.
concatenant potser no és el terme correcte, més aviat, el dígit de l’residu s’insereix a l’inici de la cadena que serà el nombre binari.
Converteix decimal a binari
Vegem el mètode que acabo d’explicar en l’algoritme. Utilitzem un StringBuilder però no et confonguis ni agobies, només és perquè ens ajudi a inserir el dígit binari a l’inici de la cadena.
Veure the gist on github.
A la fin tornem el StringBuilder
però convertit a cadena. Com ho vaig dir, només és per facilitar-nos les coses per treballar amb la cadena.
Mètode 2: utilitzar toBinaryString
Com ho vaig dir, ja hi ha un mètode optimitzat i posat en l’API de Java per convertir un nombre decimal a la seva representació binària.
el mètode de què parlo es diu toBinaryString
i està dins de la classe Long
; fem servir Long
per manejar nombres que siguin grans.
La sintaxi és:
String binario = Long.toBinaryString(numeroDecimal);
a sota veurem exemples d’ús.
exemples per convertir decimal a binari
Ara vegem com es fan servir els mètodes que expliquem. La sortida hauria de ser la mateixa per a tots dos. Vegem:
Veure the gist on github.
Pots provar-ho en línia fent clic aquí. També ets lliure de descarregar-lo, en cas que ho facis, mira aquest tutorial perquè instal·lis NetBeans; un IDE poderós que ajudarà a l’hora de programar en Java.
Com sempre, et convido a llegir més sobre:
- Java
- Matemàtiques discretes
- Algorismes