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

Bitový string na int – C / C++ – Fórum – Programujte.comBitový string na int – C / C++ – Fórum – Programujte.com

 

Eva
~ Anonymní uživatel
18 příspěvků
23. 11. 2010   #1
-
0
-

Potřebovala bych helpnout, ve stringu mám uloženou posloupnost bitů a chci je převést na int. Jak na to?

string nove= "00000011";

int cislo = (int) nove; // chci aby cislo = 3

Děkuji za pomoc

Nahlásit jako SPAM
IP: 89.103.211.–
petr.satka0
Newbie
23. 11. 2010   #2
-
0
-

To Eva :
Vytvoř si výslednou proměnnou a vynuluj ji.
Udělej si cyklus, který bude postupně procházet celý řetězec.
V každém běhu cyklu posuň bitově výslednou proměnnou o jedna vlevo.
A pokud je aktuální znak roven '1', proveď bitový součet výsledné proměnné s konstantou 1.

Nahlásit jako SPAM
IP: 217.112.175.–
Eva
~ Anonymní uživatel
18 příspěvků
23. 11. 2010   #3
-
0
-

To petr.satka :



char *nove= new char [8];
nove[0]= '1';
nove[1]= '0';
nove[2]= '0';
nove[3]= '0';
nove[4]= '0';
nove[5]= '0';
nove[6]= '0';
nove[7]= '0';

int cislo = 0;
for(int i = 0; i<8; ++i){
cislo = cislo << 1;
if(nove[i]=='1'){
cislo = cislo & 1 ;
}
}
cout <<"c:" << cislo <<endl;


Teď mi jako číslo vypisuje 0 :(

Nahlásit jako SPAM
IP: 89.103.211.–
petr.satka0
Newbie
23. 11. 2010   #4
-
0
-

To Eva :
Součet je or, nikoliv and.

Nahlásit jako SPAM
IP: 217.112.175.–
Eva
~ Anonymní uživatel
18 příspěvků
23. 11. 2010   #5
-
0
-

To petr.satka : Děkuji mnohokrát :smile1:

Nahlásit jako SPAM
IP: 89.103.211.–
tass0
~ Anonymní uživatel
10 příspěvků
25. 11. 2010   #6
-
0
-

Aj takto by to malo fungovat:



#include <iostream>
#include <string>
#include <bitset>
#include <limits>
using namespace std ;

int main()
{
string str = "00000101" ;
int a = int(bitset<numeric_limits<unsigned int>::digits>(str).to_ulong());
cout << a;
}

Nahlásit jako SPAM
IP: 158.193.98.–
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, 88 hostů

Podobná vlákna

String << int — založil Kenvelo

Konverze string na int — založil Pebble

INT se mení na string — založil Foukr

Přetypování string na int — založil Kenvelo

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ý