در این جلسه تیم کدگیت را با آموزش تبدیل باینری به دهدهی در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:
دستگاه اعداد دودویی (باینری)
باینری (Binary) یا دستگاه اعداد دو دویی، بر خلاف اعداد عادی که ما با آنها سرو کار داریم و در مبنای ۱۰ هستند، هر عددی را در مبنای ۲ یعنی با استفاده از دو عدد صفر و یک نشان میدهد. چون نحوه کارکرد کامپیوترها، مدارات منطقی و در کل هر پردازنده دیجیتالی بر حسب خاموش یا روشن بودن ورودیها انجام میپذیرد، آن را با اعداد ۰ و ۱ یعنی در مبنای ۲ و حالت باینری نشان میدهند(bytegate.ir).
تبدیل باینری به دهدهی
ابتدا ارزش مکانی رقمها را محاسبه نموده بدین طریق که رقم اول از سمت راست در جایگاه 20 و رقم دوم در جایگاه 21 و…. میباشند. سپس هر کدام از رقمها را در ارزش مکانیش ضرب کرده و همه را با هم جمع میکنیم(جمع در مبنای ده) عدد به دست آمده در مبنای ده و برابر عدد ابتدایی در مبنای دو است(ویکیپدیا).
تبدیل باینری به دهدهی در جاوا
برای تبدیل باینری به دهدهی در جاوا ما از یک رشته استفاده میکنیم به عنوان عدد باینری و آن را به دهدهی تبدیل میکنم.کل کاری که در پیاده سازی انجام داده ایم این است که ما در عدد باینری هر جا به عدد یک رسیدیم عدد 2 را به توان جایگاه آن میرسانیم. کد تبدیل باینری به دهدهی در جاوا به صورت زیر است:
public static void main(String[] args) {
String binary = "111100";
double decimal = 0;
for (int i = binary.length()-1, j = 0; i>=0; i--,j++) {
if (binary.charAt(i) == '1') {
decimal+= Math.pow(2, j);
}
}
System.out.println("Binary: " + binary);
System.out.println("decimal: "+ decimal);
}
همانطور که در کد تبدیل باینری به دهدهی در جاوا میبینید ما از یک حلقه for استفاده کردیم. این حلقه دارای 2 متغیر i و j است. به دلیل اینکه جاوا هر رشته را از چپ آغاز میکند ولی ما برای محاسبه از کم ارزشترین (یعنی سمت راست عدد) رقم شروع میکنیم، از دو اشاره گر که یکی به کم ارزشترین رقم و دیگری جایگاه واقعی آن رقم را نگه میدارد، استفاده میکنیم.