C语言实现整数和16进制互相转换

编译环境:Dev-C++ 5.2.0.3

使用sprintf()函数实现转换,代码如下:

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char* argv[])

{  

  int num;
  printf("Enter a integer number:");
  scanf("%d", &num);
  char ch[10]={0};
  sprintf(ch, "%X", num);//%X形式输出16进制

  char Hex[10] = {0};
  long int Integer;
  printf("Enter a Hex number:");
  scanf("%s", Hex);
  Integer = strtol(Hex, NULL, 16);
  printf("Convert to decimal:%ld ", Integer);

}

拓展:一个例子,将浮点型数据转换为指定格式的字符串。

char ch[10] = {0};

sprintf(ch,"%5.2f", num_float);

原文地址:https://www.cnblogs.com/timemachine213/p/8320950.html