输入长整形数据输出对应的十六进制字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入长整形数据输出对应的十六进制字符串相关的知识,希望对你有一定的参考价值。
1 int buffer_append_long_hex(buffer *b, unsigned long value) { 2 char *buf; 3 int shift = 0; 4 unsigned long copy = value; 5 6 while (copy) { 7 copy >>= 4; 8 shift++; 9 } 10 if (shift == 0) 11 shift++; 12 if (shift & 0x01) 13 shift++; 14 15 buffer_prepare_append(b, shift + 1); 16 if (b->used == 0) 17 b->used++; 18 buf = b->ptr + (b->used - 1); 19 b->used += shift; 20 21 shift <<= 2; 22 while (shift > 0) { 23 shift -= 4; 24 *(buf++) = hex_chars[(value >> shift) & 0x0F]; 25 } 26 *buf = ‘\0‘; 27 28 return 0; 29 }
以上是关于输入长整形数据输出对应的十六进制字符串的主要内容,如果未能解决你的问题,请参考以下文章