Перевод из одних систем счисления в другие - Перевод из двоичной в шестнадцатиричную
ОГЛАВЛЕНИЕ
Страница 3 из 5
Перевод из двоичной в шестнадцатиричную
Пеpевод из двоичной системы исчисления в 16-тиричную осуществляется по таблице для каждых 4-х двоичных единиц:
0000=0 0001=1 0010=2 0011=3
0100=4 0101=5 0110=6 0111=7
1000=8 1001=9 1010=A 1011=B
1100=C 1101=D 1110=E 1111=F
Например:
число 111010110 = 0001'1101'0110 = 1D6
А вот алгоритм "хитрого" перевода со смещением. Работает ну очень быстро.
void DecToBin (long num,char *bin)
{
int i,j;
char tmp[33];
for (i=0; num; num>>=1, i++)tmp[i] = (num&1)?('1'):('0');
for (j=0; j<i; j++) bin[j] = tmp[i-j-1];
}
