Diskuze: Převod do binární soustavy
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 11 zpráv z 61.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
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
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ě.
Napsal jsem převod z bin do dec takhle.
char[] binary = Console.ReadLine().ToCharArray();
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();
Projdi si toto:
http://www.itnetwork.cz/…i-soustavami
A k vložení zdrojových kódů používej tagy code...
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.
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();
}
}
}
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.
Zobrazeno 11 zpráv z 61.