LINUX.ORG.RU

Hex to char


0

0

Как быстро конвертировать hex в char на си.

unsigned char a[16]; a[1]=0xff b=="ff"

sprintf сильно медленно. можно ли это сделать по быстрее ?


ссс

примерно так: char __таблиццо[] = "0123456789abcdef"; ... char __чар_ога =__таблиццо[хиегз & (sizeof(__таблиццо) - 1)];

int_0dh
()
Ответ на: ссс от int_0dh

только если число больше 0xF, сие нужно делать в цикле с делением на 0x10

asgard
()

# если я правильно понял вопрос, то надо сконвертить целое
# в шестнадцатиричном виде
static char octName[]="012345678ABCDEF"
void uint2str(unsigned int b,char *text) {
  int num;
  int sz;
  sz=sizeof(b)*2;
  for (num=1;num<=sz;num++) {
     text[sz-num]=tab[b&0xf];
     b>>=4;
  }
  text[sz]=0;
}

MKuznetsov ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.