将整数转换为十六进制 [英] Convert integer to hexadecimal

查看:256
本文介绍了将整数转换为十六进制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I just need to convert integer to hexadecimal. Actually I have a char array in which I am storing hex values.

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数组会将其作为普通char接受的原因.因此,请建议我如何从getHexFromInt()方法返回"0x .."格式的字符.

Now what I think getHexFromInt() returns an hex int value equivalent to the passed decimal "var". It will not contain 0x.. format that's why I think char array will accept it as normal char. So please suggest me how can I return a char in "0x.." format from getHexFromInt() method.

推荐答案

十六进制值是整数值

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

hexadecimal is just a way of displaying an integer.

如果您要创建一个字符串,该字符串是整数的十六进制表示形式,则可以执行以下操作:

if you want to create a string that is the hexadecimal representation of an integer, you can go:

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

如果需要,您也可以将数字填充为零,方法是:%0(所需位数)x

you can also pad the number with zeros if you want, by going %0(total number of digits desired)x

例如:

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

将导致hexStr被填充为"0x00000123"

will result in hexStr being filled with "0x00000123"

这篇关于将整数转换为十六进制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆