Двоично в десетично преобразуване в Java
Числата, които имат само 2 цифри, 0 и 1, се наричат двоични числа. Те се изразяват само в бройна система с основа 2. Знаем, че двоичната система е родният цифров език на съвременните компютри. Но ние сме по-свикнали с десетичните числа. Разбира се, можете да конвертирате двоични числа в десетични и обратно. На диаграмата по-долу можете да видите примерно двоично преобразуване в десетично. 10101 е двоично число, използвано за обяснение на математически изчисления.![Java Преобразуване на двоични в десетични - 1](https://cdn.codegym.cc/images/article/032efda6-9569-49f6-808b-816669afd96b/512.jpeg)
- Използване на Java метод
- Използване на персонализирана логика
Предварително изграден метод на Java
Java ни предоставя метода Integer.parseInt() за преобразуване на низа в цяло число. методът parseInt() принадлежи към класа Integer .Синтаксис
public static int parseInt(String binaryNumber, int radix)
Пример
public class ConvertingBinaryToDecimal {
public static void main(String args[]){
String binaryNumber="10101";
int decimalNumber=Integer.parseInt(binaryNumber,2);
System.out.println(decimalNumber);
}
}
Изход
21
Използване на персонализирана логика
Можем също да напишем програма на Java, която получава цяло число и го преобразува в десетично число. Нека да разгледаме пример, за да го разберем.Пример
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));
}
}
Изход
Десетичната стойност е: 58 Десетичната стойност е: 24
GO TO FULL VERSION