Newer
Older
/*
* Hexavigesimal.cpp
*
* Created on: 19. 4. 2014
* Author: Tomas Pecka
*/
#include "hexavigesimal.h"
namespace std {
unsigned fromBase26( string rep ) {
// http://en.wikipedia.org/wiki/Hexavigesimal
unsigned n = 0;
for(char repSymbol : rep ) {
unsigned remainder = repSymbol - 'A';
if(remainder > 26)
throw 1; //("Invalid argument"); //TODO fix
n = n * 26 + remainder;
}
return n;
}
string toBase26( unsigned id ) {
// http://en.wikipedia.org/wiki/Hexavigesimal
string name;
do {
return string( name.rbegin( ), name.rend( ) );
}
} /* namespace conversions */