Binary sa Decimal conversion sa Java
Ang mga numero na may 2 digit lamang, 0 at 1, ay tinatawag na mga binary na numero. Ang mga ito ay ipinahayag lamang sa base 2 number system. Alam namin na ang binary system ay ang katutubong digital na wika ng mga modernong computer. Ngunit mas sanay tayo sa mga decimal na numero. Siyempre, maaari mong i-convert ang mga binary na numero sa decimal at vice versa. Sa diagram sa ibaba makikita mo ang isang halimbawa ng binary sa decimal na conversion. Ang 10101 ay isang binary na numero na ginagamit upang ipaliwanag ang mga kalkulasyon sa matematika. Kailangan lang nating sundin ang 3 simpleng hakbang. Palaging kunin ang digit mula sa kanang bahagi ng isang binary na numero, i-multiply ito sa kapangyarihan ng 2 at pagkatapos ay idagdag lamang ang mga ito. Makukuha mo ang decimal na numero na 21 sa kasong ito. Mayroong dalawang mga paraan para sa pag-convert ng binary sa decimal sa java.- Gamit ang Java method
- Gamit ang custom na logic
Java Prebuilt na Paraan
Ang Java ay nagbibigay sa amin ng Integer.parseInt() na paraan upang i-convert ang string sa isang integer. parseInt() na pamamaraan ay kabilang sa klase ng Integer .Syntax
public static int parseInt(String binaryNumber, int radix)
Halimbawa
public class ConvertingBinaryToDecimal {
public static void main(String args[]){
String binaryNumber="10101";
int decimalNumber=Integer.parseInt(binaryNumber,2);
System.out.println(decimalNumber);
}
}
Output
21
Gamit ang Custom Logic
Maaari din kaming magsulat ng isang programa sa Java na tumatanggap ng isang integer at nagko-convert nito sa isang decimal na numero. Tingnan natin ang isang halimbawa upang maunawaan ito.Halimbawa
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));
}
}
Output
Ang desimal na halaga ay: 58 Ang desimal na halaga ay: 24
GO TO FULL VERSION