首页 > 其他 > 详细

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

时间:2016-03-07 01:16:10      阅读:257      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!