public class DecimalToBinary { public static void main(String[] args) { DecimalToBinary d = new DecimalToBinary(); for (int i = 0; i < 10; i++) { System.out.println(d.convertToBinary(i)); // For ? sjekke at svaret er riktig kan man bruke Integer.toBinaryString(i) } } /** * Konverterer et positivt tall i titallsystemet til et bin?rtall. * * @param decimal tall som skal konverteres * @return bin?r representasjon av input-tallet */ public String convertToBinary(int decimal) { if (decimal == 0) { // Spesialtilfele return "0"; } String binaryRepresentation = ""; /* Les godt igjennom f?rste del av denne for-l?kka, den starter p? verdien til "decimal" og kj?rer helt til "decimal" blir lik 0 (da stopper den). Den gj?res mindre ved at man utf?rer heltallsdivisjon med 2, dette f?rer til at vi alltid vil f? et heltall (husk at det etter komma bare kuttes bort, f.eks. 7 / 2 = 3) For ? forst? hvordan denne l?kka fungerer s? m? du forst? hvordan modulo (%) fungerer. G? s? igjennom denne l?kka med et lite tall manuelt, f.eks. 3 eller 4 og se at det fungerer. */ for(int i = decimal; decimal != 0; decimal /= 2) { // Her sjekker vi om det er en rest (modulo = % (regner ut // rest)) ved deling p? to if (decimal % 2 != 0) { // Det var en rest, vi legger p? 1 f?rst binaryRepresentation = "1" + binaryRepresentation; } else { // Det var ingen rest, vi legger p? 0 f?rst binaryRepresentation = "0" + binaryRepresentation; } } return binaryRepresentation; } }