Gyakorlati alapok

Átváltás számrendszerek között

 

A hétköznapi számítások során tízes (decimális) számrendszerben gondolkodunk és dolgozunk.

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

A tízes (decimális) számrendszer 10 db számjegyet tartalmaz (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), helyiértékei a 10 hatványai.

 

A számítógép is ismeri a tízes (decimális) számrendszert, ám csak adatmegjelenítéskor és adatbekéréskor alkalmazza, mert egyéb műveletei során a kettes, nyolcas, sőt tizenhatos számrendszerekbe konvertálja, illetve ezeket folyamatosan váltja is egymásba.

A számrendszerek közti átváltást a Java nyelv natívan képes támogatni. Alapértelmezésben a numerikus adatok bekérése és megjelenítése a számítógépen tízes számrendszerben történik, ez az alap. Egy numerikus adatdeklarációnál tehát tízes számrendszerbeli adatot vár a számítógép (például int szam = 4) és az eredményt szintén ebben kapjuk vissza. Azonban lehetőségünk van más számrendszer szerint is beadni (és megjeleníteni) adatot:

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


public class Main {

public static void main(String[] args) {
    int szamTizesRendszer = 267;
    int szamKettesRendszer = 0b100001011;
    int szamNyolcasRendszer = 0413;
    int szamTizenhatosRendszer = 0x10B;
    System.out.println(szamTizesRendszer);
    System.out.println (szamKettesRendszer);
    System.out.println(szamNyolcasRendszer);
    System.out.println (szamTizenhatosRendszer);
    }
}

 

Végeredmény (például):

267

267

267

267

 

Most nézzünk egy gyors összeadást, amelyet csakis bináris számokon végzünk el:

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 

 

public class Main {
    public static void main(String[] args) {
    int a = 0b111;
    int b = 0b110;
    int c = a + b;
    System.out.println(a + " + " + b + " = " + c);
    }
}

 

Végeredmény:

7 + 6 = 13
 

Az átváltás annyira automatikus, hogy a kiírás természetesen decimális lesz.

 

Ha meg kívánjuk tartani az eredeti bináris számformátumot, belső, beépített függvényhez kell nyúlnunk, ez az Integer.toBinaryString(a).

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 

 

public class Main {
    public static void main(String[] args) {
    int a = 0b111;
    int b = 0b110;
    int c = a + b;
    System.out.println(a + " + " + b + " = " + c);
    System.out.println(Integer.toBinaryString(a) + " + " + Integer.toBinaryString(b)
                                + " = " + Integer.toBinaryString(c));
    }
}

 

Végeredmény:

7 + 6 = 13

111 + 110 = 1101