Как да превърна едно число от десетична в двуична бройна система?
Става въпрос не с калкулатор да я превърна стойността, а чрез код. може да съм пропуснал нещо от лекцийте но незнам как да го направя. Неможе да няма много лесен начин.
Става въпрос не с калкулатор да я превърна стойността, а чрез код. може да съм пропуснал нещо от лекцийте но незнам как да го направя. Неможе да няма много лесен начин.
Здравейте колеги,
опитайте се да решите задачата "ones and zeros" , чрез Convert.ToString(value,2) ...
Това конвертиране е и доста бавна операция, освен това не винаги работи кадърно.
Всъщност вариантите не са малко, но като че ли примерно, ако се търсят 18 бита се прави един for(int i ..i< 18...) цикъл
където (value >> i & 1), абе пробвайте следният код и мисля, че ще ме разберете.
int number = 1234;
for (int i = 0; i < 18; i++)
{
Console.Write(number >> i & 1);
}
OnesAndZeros я реших точно с Convert.ToString. Проблемът ми там не беше с намирането на числата. За мен условието на тази задача е изключително некоректно зададено. Иска се да се намерят последните 16 бита, а тук ни учат, че се брои от дясно на ляво. Е познай после как да разбера къде се дъни програмата ми, след като алгоритъмът е верен, само че си брои наистина последните 16 бита от дясно на ляво, а не както се оказва, че е трябвало, всъщност първите 16 бита (демек последните от ляво на дясно). Това без да имаш входните и очакваните изходни данни няма как да го хванеш.
Надявам се на нашия изпит да няма такива недоразумения.
Това е моето решение на задачата с конвертиране към стринг. Принципно тази конкатенация е бавен процес и може би това преобразуване е малко по-бързо от Convert.ToString().PadLeft... , но ако се използва StringBuilder, скоростта се увеличава значително. Иначе не е лошо човек да знае повече неща, защото по този начин се пише по качествен код. Относно изпита, по скоро очаквайте всякакви уловки, там идеята е първо да се види какво е написано, а след това какво не е написано :). Това е моето мнение де и не ангажирам никой снего.
Хубаво решение. Кратко и ясно. Мойто е поне двойно по-дълго, ама да, както казах, подведох се по условието и тръгнах да измислям несъществуващи варианти.