Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na
Kit:21.12.2012 21:18

Zkus před ten while vložit tohle:

if (val < 0) {
    val = -val;
    printf("-");
}

Převede ti to i záporná čísla.

Místo cyklu while by se tady hodil cyklus do-while, aby to převedlo i nulu.

Odpovědět
21.12.2012 21:18
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Tommy
Neregistrovaný
Avatar
Tommy:21.12.2012 21:44

Paráda... tohle vyřešeno... teď už zbývá jen nějak zajistit, aby se mi .exe soubor nevypínal současně se zobrazením výsledku... nenapadá někoho něco prosím?? Zkoušel jsem i

printf("Stisknete libovolnou klavesu pro ukonceni\n");
getchar();

když to zkouším spustit v MS VS, normálně je třeba stisknout klávesu na vypnutí... ale v .exe souboru se to vypíná hned :(

 
Nahoru Odpovědět
21.12.2012 21:44
Avatar
Tommy
Neregistrovaný
Avatar
Tommy:21.12.2012 21:59

Tak všem moc děkuji za pomoc ;) nějak jsem to splácal s pomocí... :D už to funguje :D

 
Nahoru Odpovědět
21.12.2012 21:59
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na
Lukáš Hruda:22.12.2012 11:20

Musíš tam ten getchar dát 2x za sebou anebo dát jeden getchar za scanf, protože ten enter z toho vstupu ti zůstává ve frontě.

 
Nahoru Odpovědět
22.12.2012 11:20
Avatar
ajnstajnke
Člen
Avatar
ajnstajnke:2.1.2013 21:10

Napsal jsem převod z bin do dec takhle.

char[] binary = Console.ReadLi­ne().ToCharArra­y();
int dec = 0;
int multiplier = 1;

for (int i = binary.Length - 1; i >= 0; i--)
{
dec += (binary[i] == '1' ? 1 : 0) * multiplier;
multiplier *= 2;
}
Console.Write("{0}", dec);
Console.ReadKey();

 
Nahoru Odpovědět
2.1.2013 21:10
Avatar
matesax
Tvůrce
Avatar
Odpovídá na ajnstajnke
matesax:2.1.2013 21:16

Projdi si toto:

http://www.itnetwork.cz/…i-soustavami

A k vložení zdrojových kódů používej tagy code...

 
Nahoru Odpovědět
2.1.2013 21:16
Avatar
Nikol
Neregistrovaný
Avatar
Nikol:8.5.2013 9:10

neví někdo jak převést textový řetězec dobinární soustavy :(

 
Nahoru Odpovědět
8.5.2013 9:10
Avatar

Člen
Avatar
Odpovídá na
:8.5.2013 9:25

Něco jako

int value = Convert.ToInt32("10101010", 2);

Edit: špatně přečtená otázka. Tak nejjednodušší řešení je asi načíst hodnotu z řetězce a pomocí

Convert.ToString(value,base);

převést na binární string.

Editováno 8.5.2013 9:29
 
Nahoru Odpovědět
8.5.2013 9:25
Avatar
Odpovídá na matesax
Ondřej Kábrt:26.2.2022 13:50

Já to vyřešil teda takhle:

 
Nahoru Odpovědět
26.2.2022 13:50
Avatar
Ondřej Kábrt:26.2.2022 13:56
using System;

namespace _10do2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Zadej číslo v 10-soustavě");
            int cislo = Convert.ToInt32(Console.ReadLine());
            string vystup = "";
            while (cislo != 0)
            {
                int zbytek = cislo % 2;
                vystup = zbytek + vystup;
                cislo = cislo / 2;
            }
            Console.WriteLine("Ve dvojkové soustavě: {0}", vystup);
            Console.ReadKey();


        }

    }
}
 
Nahoru Odpovědět
26.2.2022 13:56
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:28.2.2022 7:48

No, a proc to delite dvema a na integer nepouzijete shift operaci?
A proc otevirate tema z roku 2012? V roce 2022 to asi nebude nikdo cist. Kazdy si radeji zada nove.

 
Nahoru Odpovědět
28.2.2022 7:48
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 61.