在一个C程序中,我用一个整数存储了一个十进制数837,它的十六进制值为0x345。现在我想将该变量的相同十六进制值存储到整数变量 345。如何做?
您的问题是,将十进制数转换为十六进制格式,然后将该十六进制数保存为整数。那么这个就可以了
#include<stdio.h>
#include<stdlib.h>
int main()
{
char x[6]; 'just took 6,you can increase its size as per your int number
' Though it uses only 3 elements in these example
int i;
int a;
i=837; ' Load the i value with a decimal number say 837
sprintf(x,"%x",i); ' pass the hex format value to string x instead of stdout
' x contains x[0] ='3' x[1] ='4' x[2] ='5'
a=atoi(x); ' Convert the string format to integer
printf("%d",a); ' outputs 345
}
注意Hexanumbers 甚至可能由 ABC 组成,为此,我不知道您的逻辑是什么?忽略它或任何其他转换?如果六边形数字是 3ab,你会存储什么?
我是一名优秀的程序员,十分优秀!