Snippet
int POW(int base, int power)
{
if (power)
{
int exp = base;
while (--power > 0) exp *= base;
return exp;
}
else return 1;
}
//Alpha to Binary
void ATOB(char a,int* dest)
{
int power = 0, rem = a;
for (int i = 0;i < 8;i++)
{
power = POW(2,7-i);
*dest = rem / power; dest++;
rem %= power;
}
}
void ATOB(char a,char* dest)
{
int power = 0, rem = a;
for (int i = 0;i < 8;i++)
{
power = POW(2,7-i);
*dest = rem / power; dest++;
rem %= power;
}
}
void ATOB(char a,bool* dest)
{
int power = 0, rem = a;
for (int i = 0;i < 8;i++)
{
power = POW(2,7-i);
*dest = rem / power; dest++;
rem %= power;
}
}
//Alpha to Hexidecimal
void ATOH(char a,char* dest)
{
int power = 0, rem = a, bin[3];
for (int i = 0;i < 3;i++)
{
power = POW(16,2-i);
bin[i] = rem / power;
rem %= power;
}
if (bin[0] > 0)
{
*dest = 48 + bin[0]; dest++;
if (bin[1] > 9) *dest = (65 + ((bin[1] * 10) + bin[2]) % 10);
else *dest = 48 + bin[2];
}
else if (bin[0] == 0)
{
*dest = 48 + bin[1]; dest++;
if (bin[2] > 9) *dest = 65 + (bin[2] % 10);
else *dest = 48 + bin[2];
}
}
//Alpha to Octal
void ATOO(char a,char* dest)
{
int power = 0, rem = a;
for (int i = 0;i < 4;i++)
{
power = POW(8,3-i);
*dest = 48 + (rem / power); dest++;
rem %= power;
}
}
void ATOO(char a,int* dest)
{
int power = 0, rem = a;
for (int i = 0;i < 4;i++)
{
power = POW(8,3-i);
*dest = rem / power; dest++;
rem %= power;
}
}
//Binary to Alpha
char BTOA(int bin[8])
{
int a = 0;
for (int i = 0;i < 8;i++) if (bin[i] == 1)
a += POW(2,i);
return a;
}
char BTOA(bool bin[8])
{
int a = 0;
for (int i = 0;i < 8;i++) if (bin[i] == 1)
a += POW(2,i);
return a;
}
char BTOA(char bin[8])
{
int a = 0;;
for (int i = 0;i < 8;i++) if (bin[i] == '1')
a += POW(2,i);
return a;
}
//Octal to Alpha
char OTOA(int oct[4])
{
int a = 0;
for (int i = 0;i < 4;i++) if (oct[i] > 0)
a += (oct[i] * POW(8,2-i));
return a;
}
Copy & Paste
|