Перевод из одних систем счисления в другие Страница 3. Перевод из двоичной в шестнадцатиричную
|
Страница 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]; }
|