Implementacja w C++

domzio
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 16 gru 2010, o 19:46
Płeć: Mężczyzna
Lokalizacja: Toruń

Implementacja w C++

Post autor: domzio »

Proszę o pomoc na jutro potrzebuje algorytm przedstawiajacy konwerje pozycyjnych systemow liczbowych zaimplementowany w C++, Jest mi ktoś w stanie go podać, byłbym bardzo wdzięczny gdyż czas nagli a ja nie mam pojecia jak sie do tego zabrac.
Xitami

Implementacja w C++

Post autor: Xitami »

Kod: Zaznacz cały

#include <stdio.h>

void cv(char * in, int we, char * out, int wy){
	char c; int v=0;
	while(c=*in++){
		if (c>='a') c=c-'a'+10;
		else if (c>='A') c=c-'A'+10;
		else c-='0';
		v=v*we+c;
	}
	in=out;
	do{
		c=v%wy; 
		if(c>9)c=c-10+'A';
		else c+='0'; 
		*out++=c;
		v/=wy;
	}while(v);
	*out--=0;
	while(in<out){
		c=*in; *in++=*out; *out--=c;
	}
}
int main(){
	char * bin="1101", dec[3];
	cv(bin, 2, dec, 10);
	puts(dec);
	return 0;
}
domzio
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 16 gru 2010, o 19:46
Płeć: Mężczyzna
Lokalizacja: Toruń

Implementacja w C++

Post autor: domzio »

Jednak to nie bylo na dzis i wystarczy napisac program konwertujacy tylko z 10 ale za to na 2,3,4,5,6,7,8,9,16(kowy). Wykorzystując dzielenie całkowite, moze to będzie łatwiej zrobic...
Byłbym wdzieczny za pomoc.
Xitami dzieki ale nie rozumiem niestety tego zbytnio
ODPOWIEDZ