Loading...
imollov avatar imollov 1 Точки

Преобразуване на дадено число от десетична в двоична бройна система.

Здравейте,

Изцяло нов съм в света на програмирането и почнах да чета книгата "Въведение в програмирането със C#". На една от задачите в глава 6 се затруднявам в решението. Става дума за въпрос 12. Напишете програма, която преобразува дадено число от десетична в двоична бройна система. В интеренет намерих информация за начина на преобразуване, а именно: За да превърнем число от десетична в двоична бройна система, трябва да го разделяме на 2, докато частното стане нула като записваме остатъците вдясно (ако числото не може да се дели на 2, записваме единица, а ако може - нула).

Освен това намерих доста решения на задачата, някои са прекалено сложни, други само с метода Convert.ToString(n, 2). Аз обаче искам да използвам само loops и съответно искам да разбера защо моят код не работи, след като то моята логика следвам това, което е записано на теория.

Ето го и моя код:

    Console.Write("Enter N: ");
    int n = int.Parse(Console.ReadLine());
    int divider = 2;
    int a;
     for (int i = n; i <= 0; i /= 2)
      {     
        if (i % divider == 0)
        {
          a = 1;
          Console.Write(a);
        }
     else if (i % divider != 0)
        {
          a = 0;
        Console.Write(a);
        }
      }

Благодаря, предварително.

Тагове:
0
Programming Basics 16/09/2016 09:41:19
Leprikona avatar Leprikona 108 Точки

Разгледай опциите, които предлага C#. Там има най-различни функции, които ти спестяват мъчението сам да мислиш формулата за решаването на някоя задача. В случая можеш да използваш директо функцията "Convert.ToString(int value, int to Base)", където "int value" е числото, което искаш да преобразуваш, а " int to Base" е бройната система, в която да го превърнеш: числото "2" е за двуична бройна система, "8" е за осмична бройна система и "16" е за шестнадесеттичната бройна система.

напр. ако искаш числото 481218 в двуична бройна система се исписва така:

Convert.ToString(481218, 2)

, което ще даде резултат "1110101011111000010".

2
18/09/2016 09:49:36
gabi.ivanova avatar gabi.ivanova 370 Точки

Човекът е написал:
" Освен това намерих доста решения на задачата, някои са прекалено сложни, други само с метода Convert.ToString(n, 2). Аз обаче искам да използвам само loops и съответно искам да разбера защо моят код не работи, след като то моята логика следвам това, което е записано на теория. "

1
16/09/2016 09:43:12
Leprikona avatar Leprikona 108 Точки

Извинявам се не го бях прочел.

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