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