Перевод из одних систем счисления в другие
Страница 3. Перевод из двоичной в шестнадцатиричную


 

Перевод из двоичной в шестнадцатиричную 

Пе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];
}

 
« Предыдущая статья   Следующая статья »