我只需要将整数转换为十六进制.实际上,我有一个存储十六进制值的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"
更多推荐
将整数转换为十六进制
发布评论