Převádění čísel v soustavách 2>10 10>2 8<16 16>8 – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Převádění čísel v soustavách 2>10 10>2 8<16 16>8 – C / C++ – Fórum – Programujte.comPřevádění čísel v soustavách 2>10 10>2 8<16 16>8 – C / C++ – Fórum – Programujte.com

 

Lukáš
~ Anonymní uživatel
301 příspěvků
8. 5. 2013   #1
-
0
-

Dobrý den, doufám že je tu nějaký zkušený programátor, kterému to zabere pár minut zodpovědět můj dotaz. Potřeboval bych pomoci s programem který vypíše číslo v dané soustavě.

Příklad: Toto je z dvojkové do desítkové (přesně za pomocí těhle věcí .. for a if) děkuji za pomoc
int vrat 101 (string retezec){
int vzsledek=0;
for( int 1=retezec.size()-1 ; i => 0; 1--){
if (retezec [i[==1){
vysledek = vysledek + pow(2 , retezec.size()-1 - i);
}
}
return vysledek;
}

A já potřebuju ještě obráceně a z 16ckové do 8kové a z 8kové do 16kové. Jestli by byl někdo tak hodny. Děkuji :)
Kdyby to byl i nějaký velice dobrý programátor který by měl párkrát týdně chvilku mě trochu doučit když budu potřebovat přes Skype nebo něco napište mi na skype: luky1091

Nahlásit jako SPAM
IP: 89.102.160.–
Lukáš
~ Anonymní uživatel
301 příspěvků
8. 5. 2013   #2
-
0
-

#1 Lukáš
Omlouvám se .. nedopatřením jsem to sem umístil 2x veliká omluva. Děkuji

Nahlásit jako SPAM
IP: 89.102.160.–
vitamin+8
Grafoman
8. 5. 2013   #3
-
0
-

#2 Lukáš
Na prevod cisel v oct, dec a hex formate mozes pouzit std::stringstream(a manipulatory std::oct, std::dec, std::hex) alebo std::sscanf (%d, %o, %x). Nacitanie a vypis ciesel v binarnom formate si musis naprogramovat sam ale na tomto fore je uz dost vela rieseni, staci hladat.

Vypis cisla v binanom formate sa lahko robi pomocou bitovych masiek(algoritmus je medz komentami //A a //B):

#include <iostream>

template <typename Integer>
struct Bin{
	const Integer num;
	operator Integer()const{return num;}
};

template <typename Integer>
Bin<Integer> bin(Integer num){return Bin<Integer>{num};}

template <typename Integer>
std::ostream& operator<<(std::ostream& out, Bin<Integer> bin_num){
	typedef typename std::make_unsigned<Integer>::type UnsignedInteger;

        //A
	UnsignedInteger num = bin_num;
	
	for(UnsignedInteger mask = 1; mask /*&& (mask <= num)*/; mask *= 2){		if(num & mask)out << '1';
		else out << '0';
	}
	//B

	return out;
}


int main(){
	using namespace std;
	
	std::cout
		<< bin<char>(95) << endl	
		<< bin<short>(34395) << endl
		<< bin(9034395) << endl		
		<< bin(47392999034395L) << endl;	

}
Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
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, 20 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ý