Decimal a binari en Java

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

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *