码迷,mamicode.com
首页 > 其他好文 > 详细

输入长整形数据输出对应的十六进制字符串

时间:2016-03-07 01:18:27      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

 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 }

输入长整形数据输出对应的十六进制字符串

标签:

原文地址:http://www.cnblogs.com/sangzaohaishui/p/5249024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!