[ create a new paste ] login | about

Link: http://codepad.org/yyqqlCmv    [ raw code | output | fork ]

C++, pasted on Dec 11:
#include <iostream>

//1-ый вариант
unsigned int bin_to_dec1(const char* b){
	unsigned int i, d, k = 0, n = 0;
	const char* p;
	for(p = b; *p; ++p)
		;
	if(p > b)
		--p;
	while(p >= b){
		for(d = 1, i = 0; i < k; ++i)
			d *= 2;
		n += (unsigned int)((*p--) - '0') * d;
		++k;
	}
	return n;
}

//2-ой вариант
unsigned int bin_to_dec2(const char* b){
	unsigned int n = 0;
	while(*b)
		n = (n << 1) | (unsigned int)((*b++) - '0');
	return n;
}

int main(void){
	std::cout << bin_to_dec1("1011100011101") << std::endl;
	std::cout << bin_to_dec2("1000110111011") << std::endl;
	return 0;
}


Output:
1
2
5917
4539


Create a new paste based on this one


Comments: