Java Taban Çevirme

Selam dostlar bu yazımda sizlere java programlama dilinde taban çevirme işlemlerini. Bu yazıdaki kodlardan yola çıkarak binary-decimal, octal-decimal, hexadecimal-decimal dönüşümlerini öğrenebilir ve mantığını kavrayabilirsiniz.
Java ikilik tabandan onluk tabana çeviren program ( java binary – decimal dönüşümü)
İkilik(binary) tabandan onluk tabana çevirirken sondan başlayarak her bir rakamı ikinin üsleri ile çarparız. Ardından çarpımları toplayarak decimal sonuç elde ederiz.
public class numberconvert{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String num=scanner.next();// girilecek sayı
int lenght=num.length(); //girilen sayının uzunluğu
int sum=0;
int z;
for (int i = lenght-1, j=0; i>=0; i--,j++) {
z=0;
char letter=num.charAt(i);
System.out.println("z: "+z);
z=(int) (Math.pow(2, j)*Character.getNumericValue(letter) );
System.out.println(letter+" j:"+j+" z:"+z+" sum:"+sum);
sum=sum+z;
System.out.println(sum);
}
}
}
Java sekizlik tabandan onluk tabana çeviren program ( java octal – decimal dönüşümü)
Sekizlik(octal) tabandan onluk tabana çevirirken sondan başlayarak her bir rakamı sekizin üsleri ile çarparız. Ardından çarpımları toplayarak decimal sonuç elde ederiz.
public class numberconvert{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String num=scanner.next();// girilecek sayı
int lenght=num.length(); //girilen sayının uzunluğu
int sum=0;
int z;
for (int i = lenght-1, j=0; i>=0; i--,j++) {
z=0;
char letter=num.charAt(i);
System.out.println("z: "+z);
z=(int) (Math.pow(8, j)*Character.getNumericValue(letter) );
System.out.println(letter+" j:"+j+" z:"+z+" sum:"+sum);
sum=sum+z;
}
}
}
System.out.println(sum);
Java 16′ lık tabandan onluk tabana çeviren program(java hexadecimal – decimal dönüşümü)
On altılık(hexadecimal) tabandan onluk tabana çevirirken sondan başlayarak her bir rakamı on altının üsleri ile çarparız. Ardından çarpımları toplayarak decimal sonuç elde ederiz. Ancak burda dikkat etmeniz gereken bir husus var hexadecimal tabanda 9′ dan sonra gelen sayılar sırasıyla “A”, “B”, “C”, “D”, “E” ve “F” olarak adlandırılır. Bu yüzden öncelikle bu ifadeleri sayılara çevirmeliyiz.
public class numberconvert{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String num=scanner.next();// girilecek sayı
int lenght=num.length(); //girilen sayının uzunluğu
int sum=0;
int z;
for (int i = lenght-1, j=0; i>=0; i--,j++) {
z=0;// her satırın toplamı
char letter=num.charAt(i);
if (letter=='A' || letter=='a') {
z=(int) (10*(Math.pow(16, j)));
sum=sum+z;
}
else if (letter=='B' || letter=='B') {
z=(int) (11*(Math.pow(16, j)));
sum=sum+z;
}
else if (letter=='C' || letter=='C') {
z=(int) (12*(Math.pow(16, j)));
sum=sum+z;
}
else if (letter=='D' || letter=='B') {
z=(int) (13*(Math.pow(16, j)));
sum=sum+z;
}
else if (letter=='E' || letter=='B') {
z=(int) (14*(Math.pow(16, j)));
sum=sum+z;
}
else if (letter=='F' || letter=='B') {
z=(int) (15*(Math.pow(16, j)));
sum=sum+z;
}
else{
System.out.println("z: "+z);
z=(int) (Math.pow(16, j)*Character.getNumericValue(letter) );
sum=sum+z;
}
}
System.out.println(sum);
}
}
}
Çok teşekkürler ödevim vardı diğerlerini pek anlayamamıştım buradan yaptım eline sağlık hakkını helal et