Java'da sayı sistemlerinin birbirlerine dönüşümleri için kullanabileceğimiz hızlı bir metod var. Örnek olarak 10'luk sistemdeki 11 sayısını 2'lik sisteme çevirmek istersek:
Integer.toString(11, 2)
Sonuç 1011 olur. Bu metod int veri türünde bir girdi alır ve bize String veri türünde bir değer döndürür.
2'lik sistemden tekrar 10'luk sisteme dönmek istersek de bu sefer tam tersi olarak String veri türünde bir girdi göndererek int veri türünde bir değer döndürmüş oluruz.
Integer.valueOf("1011", 2)
Sonuç: 11
Yani açık açık yazacak olursak:
(11)10 = (1011)2
Ancak kağıt kalemle yaptığımız sistem dönüşümü hesabını Java ile kodlayarak sayı sistemi dönüşümü yapmak istersek de şu şekilde bir algoritma kodlayabiliriz:
Scanner girdi=new Scanner(System.in);
System.out.println("10'luk sistemde bir sayı yazın");
int onluk = girdi.nextInt();
int binary[] = new int[50];
int sira = 0;
while(onluk > 0){
binary[sira++] = onluk%2;
onluk = onluk/2;
}
for(int i = sira-1 ; i >= 0 ; i--){
System.out.print(binary[i]);
}
Çıktı:
10'luk sistemde bir sayı yazın
11
1011