Loading...
kristopher avatar kristopher 4 Точки

Как да превърна едно число от десетична в двуична бройна система?

Става въпрос не с калкулатор да я превърна стойността, а чрез код. може да съм пропуснал нещо от лекцийте но незнам как да го направя. Неможе да няма много лесен начин.

Тагове:
0
Programming Basics
Emil_Aleksandrov avatar Emil_Aleksandrov 33 Точки

Здравейте колеги,
опитайте се да решите задачата "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);
}

0
XmUrF avatar XmUrF 363 Точки

OnesAndZeros я реших точно с Convert.ToString. Проблемът ми там не беше с намирането на числата. За мен условието на тази задача е изключително некоректно зададено. Иска се да се намерят последните 16 бита, а тук ни учат, че се брои от дясно на ляво. Е познай после как да разбера къде се дъни програмата ми, след като алгоритъмът е верен, само че си брои наистина последните 16 бита от дясно на ляво, а не както се оказва, че е трябвало, всъщност първите 16 бита (демек последните от ляво на дясно). Това без да имаш входните и очакваните изходни данни няма как да го хванеш.

 

Надявам се на нашия изпит да няма такива недоразумения.

1
Emil_Aleksandrov avatar Emil_Aleksandrov 33 Точки

Това е моето решение на задачата с конвертиране към стринг. Принципно тази конкатенация е бавен процес и може би това преобразуване е малко по-бързо от Convert.ToString().PadLeft... , но ако се използва StringBuilder, скоростта се увеличава значително. Иначе не е лошо човек да знае повече неща, защото по този начин се пише по качествен код. Относно изпита,  по скоро очаквайте всякакви уловки, там идеята е първо да се види какво е написано, а след това какво не е написано :). Това е моето мнение де и не ангажирам никой снего.

0
XmUrF avatar XmUrF 363 Точки

Хубаво решение. Кратко и ясно. Мойто е поне двойно по-дълго, ама да, както казах, подведох се по условието и тръгнах да измислям несъществуващи варианти.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.