Bitove operace – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Bitove operace – C / C++ – Fórum – Programujte.comBitove operace – C / C++ – Fórum – Programujte.com

 

jmeno
~ Anonymní uživatel
28 příspěvků
10. 12. 2014   #1
-
0
-

dobrý den,

pořebuju převést binární číslo na decimální v c++ a chtěl bych se zeptat jestli na to je nějaky jednoduchy kod a nebo jestli to jde nějakou jednoduchou cestou přes bity.

Zadání je několik náhodných 1 a 0, a mám je brát po 32 bitecha zjistit jaké číslo je největší.

Nahlásit jako SPAM
IP: 94.113.229.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 12. 2014   #2
-
0
-

Jde to jednoduchou cstou přes bity.

Nahlásit jako SPAM
IP: 88.103.236.–
jmeno
~ Anonymní uživatel
28 příspěvků
10. 12. 2014   #3
-
0
-

A mohl by si mi ukazat jak jsem amater.

Nahlásit jako SPAM
IP: 94.113.229.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 12. 2014   #4
-
0
-

#3 jmeno
Nemohl, protože jsi podal  málo  informací.

Zadání je několik náhodných 1 a 0, a mám je brát po 32 bitech

Zadání je z klávesnice? V textovém souboru? Na vstupním portu?

Nahlásit jako SPAM
IP: 88.103.236.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 12. 2014   #5
-
0
-

#4 JoDiK
Ale vlastně aji mohl - najdi si bitové operátory pro součet a bitový posun a ty použij pro postupné poskládání těch 32 bitů do celočíselné proměnné vhodného rozsahu.

Nahlásit jako SPAM
IP: 88.103.236.–
jmeno
~ Anonymní uživatel
28 příspěvků
10. 12. 2014   #6
-
0
-

Zadání je v textovém souboru, první 32-bitové číslo začína na 1bitu druhé 32-bit číslo na 2bitu atd. ... maximální delka textového souboru je 1000číslic.Mám zjistit největší sudé a liché číslo. A já bych chtěl vědět jenom jak z 32bit čísla dostanu normální číslo s ostatním už si nějak umím poradit.

Nahlásit jako SPAM
IP: 94.113.229.–
KIIV
~ Moderátor
+43
God of flame
10. 12. 2014   #7
-
0
-

Bitem tam myslis znak? Nebo tech 1000 znaku znamena * 8 bitu a tak dale...

Kazdopadne to neni nic tezkyho, nactes znak, prevedes na 0/1, posunes uint32 o bit doleva, vyorujes s tou 0/1 (nebo prictes)

Pak uz jen srovnas s maximem a kdyztak to maximum prepises.

Nahlásit jako SPAM
IP: 94.113.95.–
Program vždy dělá to co naprogramujete, ne to co chcete...
jmeno
~ Anonymní uživatel
28 příspěvků
10. 12. 2014   #8
-
0
-

#7 KIIV
Je zadané číslo 1010111001100.... které je dlouhé max 1000 znaků.

Já chápu že to pravděpodobně není nic těžkého ale v těch bitech se neorijentuju zkoušel jsem si o tom číst někde ale nikde jsem se nedočetl jak z 32bitového čísla dostanu normální číslo. (jsem začátečník tak se úplně v těch některých pojmech ztrácím)

Nahlásit jako SPAM
IP: 94.113.229.–
jmeno
~ Anonymní uživatel
28 příspěvků
10. 12. 2014   #9
-
0
-

 Tohle jediné jsem schopný vyplodit :/

ifstream soubor("text.txt");
char cislo;
if(soubor.is_open())
{
	soubor >> cislo;
}
Nahlásit jako SPAM
IP: 94.113.229.–
JoDiK
~ Anonymní uživatel
987 příspěvků
11. 12. 2014   #10
-
0
-

#8 jmeno
Ty to číslo vyrábět nebudeš, na to máš počítač. Počítač na rozdíl od člověka dvojkovým číslům rozumí nejlépe, takže jakmile mu do proměnné naskládáš ty jedničky a nuly hezky jednu po druhé, tak už mu nemusíš říkat, že to je číslo, to on ví.

Z toho souboru ale nečti čísla, to asi ani nepůjde, když je jich tam tolik, čti z něj po jednom znaku - ten znak bude 0 nebo 1, ten jeden znak převeď na číslo 0 nebo 1 a pak s ním pracuj dle předchozích rad.

Jestli jsem správně pochopil zadání, tak jakmile přečteš prvních 32 bitů, budeš mít první číslo. Pak načteš další jeden znak, převedeš na číslo 0/1, proměnnou posuneš o bit doleva, bitově přičteš ten nový bit a máš druhé číslo. Takhle budeš postupovat až do konce souboru. Předpokládám, že v podmínkách zadání je, že v souboru je minimálně 33 bitů, aby bylo co porovnávat...

Algoritmus hledání maxima doufám zvládáš.

Ten program co máš, uprav tak, aby četl jeden znak.

Nahlásit jako SPAM
IP: 88.103.236.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 42 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý