【问题标题】:Convert integer to hexadecimal将整数转换为十六进制
【发布时间】:2013-05-23 06:19:35
【问题描述】:

我只需要将整数转换为十六进制。实际上我有一个 char 数组,我在其中存储十六进制值。

int var;
var=[self getValue];
char hexValues[5];
hexValues[0]= 0x02;
hexValues[1]= 0x04;
hexValues[2]= [self getHexFromInt:var];

现在我认为getHexFromInt() 返回一个hex int 值,该值等于传递的十进制"var"。它不会包含0x.. 格式,这就是为什么我认为 char 数组会接受它作为普通字符。所以请建议我如何从getHexFromInt() 方法返回"0x.." 格式的字符。

【问题讨论】:

  • 十进制和十六进制只是表示相同的值。

标签: objective-c c


【解决方案1】:

十六进制值是整数值

十六进制只是显示整数的一种方式。

如果你想创建一个整数的十六进制表示的字符串,你可以去:

char hexStr[20];
sprintf(hexStr,"0x%x",var);

如果需要,您也可以用 0 填充数字,方法是 %0(所需的总位数)x

例如:

int var = 0x123;
sprintf(hexStr,"0x%08x",var);

将导致 hexStr 被“0x00000123”填充

【讨论】:

    猜你喜欢
    • 2010-10-16
    • 2014-04-16
    • 2016-12-04
    • 2011-08-11
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多