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

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 }

以上是关于输入长整形数据输出对应的十六进制字符串的主要内容,如果未能解决你的问题,请参考以下文章

C语言求两个整型数据的“&”运算结果,打印输出运算结果的二进制位模式。

python基础3:数据类型

[CODEUP] 1943 进制转换

python 基本数据类型

字符串转整形 整形转字符串 等一系列转换

C语言中输入一串以空格分隔的整型数据,怎么办?