PDA

View Full Version : سوال: بدست آوردن بیت های یک حرف



gilas1368
یک شنبه 20 آذر 1390, 08:44 صبح
با سلام
من می خوام توی یک رشته تمام حروف اون رو به صفر و یک یا همون کد بیتیش تبدیل کنم اما نمی دونم چطوری:متفکر:
میشه کمکم کنید




با تشکر

mehdi.mousavi
یک شنبه 20 آذر 1390, 13:33 عصر
با سلام من می خوام توی یک رشته تمام حروف اون رو به صفر و یک یا همون کد بیتیش تبدیل کنم اما نمی دونم چطوری:متفکر: میشه کمکم کنید با تشکر

سلام.
می تونید بدین شکل عمل کنید:


string input = "this is my string to be converted to it's binary representation!";
foreach (char ch in input)
{
string output = Convert.ToString(ch, 2);
System.Diagnostics.Debug.WriteLine(output);
}

موفق باشید.

gilas1368
یک شنبه 20 آذر 1390, 13:49 عصر
میشه کد رو توضیح بدین

mehdi.mousavi
یک شنبه 20 آذر 1390, 13:57 عصر
میشه کد رو توضیح بدین

سلام.
در کد فوق، در یک حلقه دارم بازای دونه به دونه Character های موجود در اون رشته، رشته رو پیمایش میکنم و به ازای هر Character،
کد اسکی اونو با Convert.ToString به مبنای 2 میبرم. در نهایت، خروجی تبدیل شده هر کاراکتر رو در Output Window می نویسم...

موفق باشید.

gilas1368
یک شنبه 20 آذر 1390, 14:46 عصر
ازتون متشکرم اما این حلقه کد اسکی آخرین حرف رو نمایش میده.
من می خوام کد تک تک کاراکترها به هم دیگه الحاق بشه و بجای اون رشته فقط 0 و 1 نمایش داده بشه
میشه خواهش کنم راهنماییم کنید

mehdi.mousavi
یک شنبه 20 آذر 1390, 14:57 عصر
ازتون متشکرم اما این حلقه کد اسکی آخرین حرف رو نمایش میده.
من می خوام کد تک تک کاراکترها به هم دیگه الحاق بشه و بجای اون رشته فقط 0 و 1 نمایش داده بشه
میشه خواهش کنم راهنماییم کنید

سلام.
بدین شکل عمل کنید:

string input = "this is my string to be converted to it's binary representation!";

StringBuilder output = new StringBuilder();
foreach (char ch in input)
output.Append(Convert.ToString(ch, 2));

System.Diagnostics.Debug.WriteLine(output.ToString ());


یا اگر امکان استفاده از LINQ رو دارید، بدین شکل عمل کنید:


string input = "this is my string to be converted to it's binary representation!";
string output = input.Select(ch => Convert.ToString(ch, 2)).Aggregate((s1, s2) => s1 + s2).ToString();
System.Diagnostics.Debug.WriteLine(output);


موفق باشید.

gilas1368
یک شنبه 20 آذر 1390, 18:38 عصر
با تشکر از کمکتون
حالا اگر بخوام این رشته 0 و 1 رو دوباره به شکل کاراکتری برگردونم چکار باید بکنم؟

linux
یک شنبه 20 آذر 1390, 20:02 عصر
با تشکر از کمکتون
حالا اگر بخوام این رشته 0 و 1 رو دوباره به شکل کاراکتری برگردونم چکار باید بکنم؟

به مغزتان فشار بیارید و خودتان فکر کنید ، هر کارکتری در کد اسکی 8 بیتی هست خوب، خروجی این عملیات را گرفته و 8 تا 8 تا جدا کنید بعدش تبدیل به مبنای 10 کنید بعدش کارکترش را پیدا کنید. یک نگاهی به نوع char و int بندازید.