Java'da ikiliden ondalık sayıya dönüştürme
0 ve 1 olmak üzere sadece 2 rakamı olan sayılara ikili sayılar denir. Yalnızca 2 tabanlı sayı sisteminde ifade edilirler. İkili sistemin modern bilgisayarların yerel dijital dili olduğunu biliyoruz. Ama biz ondalık sayılara daha alışkınız. Tabii ki, ikili sayıları ondalık sayıya çevirebilir veya tam tersini yapabilirsiniz. Aşağıdaki şemada, ikiliden ondalık sayıya dönüştürmenin bir örneğini görebilirsiniz. 10101, matematiksel hesaplamaları açıklamak için kullanılan ikili bir sayıdır. Sadece 3 basit adımı takip etmemiz gerekiyor. Her zaman bir ikili sayının sağ tarafındaki rakamı alın, 2'nin kuvvetiyle çarpın ve sonra onları toplayın. Bu durumda 21 olan ondalık sayıyı alacaksınız. Java'da ikiliyi ondalık sayıya dönüştürmenin iki yolu vardır.- Java yöntemini kullanma
- Özel mantık kullanma
Önceden Oluşturulmuş Java Yöntemi
Java , dizgiyi bir tamsayıya dönüştürmek için bize Integer.parseInt() yöntemini sağlar . parseInt() yöntemi, Tamsayı sınıfına aittir .Sözdizimi
public static int parseInt(String binaryNumber, int radix)
Örnek
public class ConvertingBinaryToDecimal {
public static void main(String args[]){
String binaryNumber="10101";
int decimalNumber=Integer.parseInt(binaryNumber,2);
System.out.println(decimalNumber);
}
}
Çıktı
21
Özel Mantık Kullanma
Java'da bir tamsayı alan ve onu ondalık sayıya dönüştüren bir program da yazabiliriz. Bunu anlamak için bir örneğe bakalım.Örnek
public class ConvertingBinaryToDecimal {
// function for converting binary to decimal number
public static int getDecimalNumber(int binaryNumber){
int decimalNumber = 0;
int power = 0;
while(binaryNumber > 0){
//taking the rightmost digit from binaryNumber
int temp = binaryNumber%10;
//now multiplying the digit and adding it to decimalNumber variable
decimalNumber += temp*Math.pow(2, power);
//removing the rightmost digit from binaryNumber variable
binaryNumber = binaryNumber/10;
//incrementing the power variable by 1 to be used as power for 2
power++;
}
return decimalNumber;
}
public static void main(String args[]){
System.out.println("Decimal value is: "+getDecimalNumber(111010));
System.out.println("Decimal value is: "+getDecimalNumber(001010));
}
}
Çıktı
Ondalık değer: 58 Ondalık değer: 24
GO TO FULL VERSION